如何使用字母搜索unicode字符?

时间:2015-03-07 21:32:35

标签: ios search unicode nsstring ascii

我想在一些带有unicode字符的字符串上实现搜索,但是用户将输入字母表。根据这些字母表,搜索应适用于所有数据(包括unicode)。示例:如果用户按关键字“cre”进行搜索,则应返回“crème”。排序“è”可以通过“e”进行搜索。同样适用于“A” - “À”等等。

我试过

NSString* finish = [[str componentsSeparatedByCharactersInSet:[[NSCharacterSet letterCharacterSet] invertedSet]] componentsJoinedByString:@""];

但它不起作用。还有其他解决办法吗?

感谢。

1 个答案:

答案 0 :(得分:1)

我冲浪了,我发现了一些非常有用的东西。我想回答我的问题,所以如果有人像我一样遇到同样的问题,他可以尽快得到解决方案。它意味着搜索所有unicode /字母字符。

答案是在您搜索时,将搜索选项设置为如下所示。

NSCaseInsensitiveSearch|NSDiacriticInsensitiveSearch|NSWidthInsensitiveSearch

我的代码:

**

NSRange nameRange = [stringtosearch rangeOfString:searchString options:NSCaseInsensitiveSearch|NSDiacriticInsensitiveSearch|NSWidthInsensitiveSearch];
if (nameRange.location != NSNotFound)
         // do what you want to do when its found.

**