IOS / Objective-C:使用StringByReplacingOccurrencesOfString进行不区分大小写搜索

问题描述 投票:0回答:1

我对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?

提前感谢任何见解和建议。

ios objective-c nsstring
1个回答
2
投票

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

NSString *newString = [oldString stringByReplacingOccurrencesOfString:stringToReplace 
                           withString:replacementString 
                           options:NSCaseInsensitiveSearch 
                           range:NSMakeRange(0, string.length)];
© www.soinside.com 2019 - 2024. All rights reserved.