我想在一些带有unicode字符的字符串上实现搜索,但是用户将输入字母表。根据这些字母表,搜索应适用于所有数据(包括unicode)。示例:如果用户按关键字“cre”进行搜索,则应返回“crème”。排序“è”可以通过“e”进行搜索。同样适用于“A” - “À”等等。
我试过
NSString* finish = [[str componentsSeparatedByCharactersInSet:[[NSCharacterSet letterCharacterSet] invertedSet]] componentsJoinedByString:@""];
但它不起作用。还有其他解决办法吗?
感谢。
答案 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.
**