我对NSString的不区分大小写搜索感到困惑。
我收集一个常规的stringByReplacingOccurrencesOfString
总是区分大小写:
[myString stringByReplacingOccurrencesOfString:verb withString:@" "];
但有一个变量stringByReplacingOccurencesofString options: range:
有一个不区分大小写的选项。
- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target
withString:(NSString *)replacement
options:(NSStringCompareOptions)options
range:(NSRange)searchRange;
当我尝试指定范围时出错:nil。范围是指什么,如果我不知道是否会找到searchstring,我怎么知道上面例子中指定的范围X Y?
提前感谢任何见解和建议。
如果您没有要查找的特定范围,则可以传入整个字符串的范围。要获得字符串的整个范围,您可以使用[string rangeOfString:string]
或NSMakeRange(0, string.length)
。
NSString *newString = [oldString stringByReplacingOccurrencesOfString:stringToReplace
withString:replacementString
options:NSCaseInsensitiveSearch
range:NSMakeRange(0, string.length)];