通过正则 来找出特定的字符 可以输出找出的字符 也可输出删除特定字符的原字符串

- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.

    

    /*******判断是否是邮箱的正则*******/

    /*

    NSString *email = @"213414@qq.com";

    NSString *regex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";

    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];

    BOOL isValid = [predicate evaluateWithObject:email];

    NSLog(@"%d",isValid);

    */

    

    /********在字符串中搜索到需要的字符串 在截取出来********/

    /*

    NSString *phoneNo = @"13143503442";

    NSRange range = [phoneNo rangeOfString:@"^1[3]\\d{9}$" options:NSRegularExpressionSearch];

    if (range.location != NSNotFound) {

        NSLog(@"%@", [phoneNo substringWithRange:range]);

    }

     */

    

    /********用正则表达式在字符串中搜索到需要的字符串 在截取出来 ,注意只能寻找一次  ********/

    /*

    NSMutableString *url = [NSMutableString stringWithFormat:@"1229436624@qq.com"];

    NSError *error;

    // 创建NSRegularExpression对象并指定正则表达式

    NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"[\u4e00-\u9fa5]" options:NSRegularExpressionCaseInsensitive error:&error];

    if (!error) { // 如果没有错误

        // 获取特特定字符串的范围

        NSTextCheckingResult *match = [regex firstMatchInString:url options:0 range:NSMakeRange(0, [url length])];

        if (match) {

        // 截获特定的字符串

        // NSString *result = [url substringWithRange:match.range];

        //删除特定的字符串 输出剩下的字符串

          [url deleteCharactersInRange:match.range];

            NSLog(@"----%@",url);

        }

    } else { // 如果有错误,则把错误打印出来

        NSLog(@"error - %@", error);

    }

    */

    

    NSString *regex = @"[\u4e00-\u9fa5]";

    NSMutableString *str = [NSMutableString stringWithFormat:@"1229我们436624@qq.com"];

    NSError *error;

    NSRegularExpression *regular = [NSRegularExpression regularExpressionWithPattern:regex options:NSRegularExpressionCaseInsensitive error:&error];

    // str字符串进行匹配

    NSArray *matches = [regular matchesInString:str options:0 range:NSMakeRange(0, str.length)];

    // 遍历匹配后的每一条记录

        NSInteger i = 0;

    for (NSTextCheckingResult *match in matches) {

//        NSRange range = [match range];

        //找出匹配的字符串并输出 输出找出的特定字符

//        NSString *mStr = [str substringWithRange:match.range];


        //match.rang都记录下来了  遍历时候字符串被删除 字符串的length在减少 所以相应的rang.length也要减少 但是match.rangredonly  所以赋值给其他的 在改变 遍历一次减少1设置变量i记录遍历几次

        if (match.range.location == 0)

        {

            

        [str deleteCharactersInRange:match.range];

            

        }else{

            i++;

            NSRange tempRang = match.range;

            NSRange tempRang2 = tempRang;

            tempRang2.location -= i;

            tempRang = tempRang2;

            [str deleteCharactersInRange:tempRang];

        }

        

        NSLog(@"%@", str);

    }

    //一次delete掉特定字符

    

    

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值