哪种Objective-C NSString方法需要检查另一个字符串是否包含在另一个中



nsstring的哪种方法检查是否包含在另一个localizedCaseInsensitiveCompare: keyword的字符串?

中?
NSString *listOfNames = @"anas, ward, qusai, zainab";
NSString *keyword = @"Ward";
if ([listOfNames localizedCaseInsensitiveCompare:keyword]) {
    NSLog(@"nMatch found!n");
} else {
    NSLog(@"nNo match found!n");
}

我认为您的意思是您正在使用localizedCaseInsensitiveContainsString:,因为您引用的方法没有做您在说什么。

有一个相应的方法来获取搜索词的范围:-[NSString localizedStandardRangeOfString:]您使用返回的范围索引回到源字符串。

如果您需要使用当前的区域以外的其他地方搜索,也可以使用rangeOfString:options:range:locale:

localizedCaseInsensitiveCompare最有可能内部将两个字符串转换为小写,然后使用局部排序算法进行比较。

来自文档:"本地化的字符串比较基于Unicode Compration算法,该算法是由CLDR(常见区域数据存储库)量身定制的。这两个都是Unicode Consortium的项目。Unicode是Unicode,Inc的注册商标。"

。" 。"

使用listOfNames.lowercaseString

之类的东西可能要做的是一个合理的事情,将每个字符串转换为小写

相关内容

最新更新