iOS / Objective-C:使用StringByReplacingOccurenceOfString进行区分大小写的搜索

时间:2018-09-11 20:33:14

标签: ios objective-c nsstring

我对NSString不区分大小写的搜索感到困惑。

我收集常规stringByReplacingOccurrencesOfString总是区分大小写:

[myString stringByReplacingOccurrencesOfString:verb withString:@" "];

但是有一个stringByReplacingOccurencesofString options: range:变体,它具有不区分大小写的选项。

  - (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target 
                                        withString:(NSString *)replacement 
                                           options:(NSStringCompareOptions)options 
                                             range:(NSRange)searchRange;

尝试指定范围时,出现错误:无。如果我不知道是否会找到搜索字符串,该范围是指什么,如何知道要指定的范围,在上例中为X Y?

在此先感谢您的见解和建议。

1 个答案:

答案 0 :(得分:2)

如果您没有所要查找的特定范围,则可以传递整个字符串的范围。要获取字符串的整个范围,可以使用[string rangeOfString:string]NSMakeRange(0, string.length)

NSString *newString = [oldString stringByReplacingOccurrencesOfString:stringToReplace 
                           withString:replacementString 
                           options:NSCaseInsensitiveSearch 
                           range:NSMakeRange(0, string.length)];