什么Objective-C NSString方法需要检查字符串是否包含在另一个字符串中? [重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么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校对算法,由CLDR(公共区域设置数据存储库)为不同语言定制。两者都是Unicode Consortium的项目.Unicode是Unicode,Inc。的注册商标。”

可能合理的做法是将每个字符串转换为小写,使用像listOfNames.lowercaseString这样的东西

以上是关于什么Objective-C NSString方法需要检查字符串是否包含在另一个字符串中? [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Objective-C 查找 NSString 中最常用的词

来自 NSString 的 Objective-C 标识符

ios学习路线—Objective-C(深浅拷贝)

iOS计算文本高度和宽度(Objective-C)(UILabel和NSString两种方法)

objective-c如何获得文件路径

Objective-C 字符串操作