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