iOS正则表达式解决实际问题
生活随笔
收集整理的这篇文章主要介绍了
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: range:NSMakeRange(, [searchText length])];
if (results) {
NSLog(@"%@", [searchText substringWithRange:results[].range]);
}
打印结果:可以直接解决实际问题
注意:数组自己判断一下长度
记得判断长度, 小心数组越界
总结
以上是生活随笔为你收集整理的iOS正则表达式解决实际问题的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: jprofiler 查看程序内存泄露
- 下一篇: SqlSessionFactoryBui