zoukankan      html  css  js  c++  java
  • iOS正则表达式解决实际问题

    问题:上海市徐汇区桂林路158号1202室

    字符串长度不固定,数字长度也不固定。截取第二组数字。

    方法一:【正则表达式】

    NSString * str = @"上海市徐汇区桂林路158号1202室";
    
        NSCharacterSet *nonDigitCharacterSet = [[NSCharacterSet decimalDigitCharacterSet] invertedSet];
    
        //获取字符串中的数字
    
    //    str = [[str componentsSeparatedByCharactersInSet:nonDigitCharacterSet] componentsJoinedByString:@""];
    
        NSArray *strArr = [str componentsSeparatedByCharactersInSet:nonDigitCharacterSet];
    
    //    NSArray *strArr = [str componentsSeparatedByString:@""];
    
        NSLog(@"%@",strArr);

    打印结果:需要自己取想要的那一组数字,适用范围广

    方法二:【正则表达式】

        NSString *searchText = @"满29元减500元";
        NSError *error = NULL;
        NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"\d+" options:NSRegularExpressionCaseInsensitive error:&error];
        NSArray <NSTextCheckingResult *> *results = [regex matchesInString:searchText options:0 range:NSMakeRange(0, [searchText length])];
        if (results) {
            NSLog(@"%@", [searchText substringWithRange:results[1].range]);
        }

    打印结果:可以直接解决实际问题

    注意:数组自己判断一下长度

             记得判断长度, 小心数组越界

  • 相关阅读:
    JS注意事项
    正则
    js闭包
    【转】chrome console用法
    JSON
    流式传输原理(一) 之通过Web服务器访问音频和视频
    流式传输原理(二) 之通过流式服务器访问音视频
    Equivalence Class Partitioning等价类划分黑盒测试
    【判断闰年】程序抛出异常的解决方案
    新学期😄😄😄
  • 原文地址:https://www.cnblogs.com/liuzhi20101016/p/11934009.html
Copyright © 2011-2022 走看看