我有一个NSString,我试图找到三个字符串@“aaa”和@“bbb”以及@“ccc”中的任意一个的第一个位置。
range = [text rangeOfString:@"aaa" options:NSCaseInsensitiveSearch range:NSMakeRange(rangeStart, rangeLength)];
是否有任何简单的方法可以向rangeOfString:
方法添加逻辑运算符(或)?我试过了rangeOfString:(@"aaa" || @"bbb" || @"ccc")
,但它抛出了异常。或者有一个简单的解决方法。感谢。
答案 0 :(得分:2)
使用正则表达式
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"(aaa|bbb|ccc)" options:0 error:NULL];
NSTextCheckingResult *match = [regex firstMatchInString:text options:0 range:NSMakeRange(0, [text length])];
希望这会有所帮助......
答案 1 :(得分:0)
[[NSRegularExpression regularExpressionWithPattern: @"(aaa|bbb|ccc)" options: NSRegularExpressionCaseInsensitive error: &error] rangeOfFirstMatchInString: text options: 0 range: NSMakeRange(rangeStart, rangeLength)]