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

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

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

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

  • 相关阅读:
    java 测试 (junit+ junit 断言 + postman)
    junit 运行(eclipse + IDEA)
    junit 常用注解 + junit 断言详解
    工作周报模板
    spring boot tomcat 部署
    spring boot 集成JSP
    spring boot 集成 Mybatis,JPA
    JPA 常用注解
    员工年终绩效考核表模板
    2013 Noip提高组 Day1
  • 原文地址:https://www.cnblogs.com/liuzhi20101016/p/11934009.html
Copyright © 2011-2022 走看看