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]);
        }

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

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

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

  • 相关阅读:
    JVM系列(三)垃圾回收
    JVM系列(二)各区域的OOM
    JVM系列(一)内存模型
    获取IP、mac等信息
    memcached(七)--常用指令抓包分析
    memcached(五)--源码分析,启动
    apt安装mysql + 简易配置
    memcached(六)--spyMemcached的get操作
    解决mysql获取不到连接的问题
    tcp一些要点
  • 原文地址:https://www.cnblogs.com/liuzhi20101016/p/11934009.html
Copyright © 2011-2022 走看看