我最近开发了一本iphone书,并在这个应用程序中实现了搜索功能。 但在真正的iPhone上测试应用程序后,我想知道它无法找到所有的搜索条款。 (在我的mac上使用波斯语键盘)
例如,它找不到包含“ی”字符的单词,因为搜索字词包含从iphone阿拉伯语键盘插入的“ي”字符!!
我的文字很多,我找不到所有这些相似的字符!!
有没有办法将我的波斯语文本转换为阿拉伯语文本?
答案 0 :(得分:1)
您可能需要规范化文本或使用对各种阿拉伯字母形式(初始,中间,最终,隔离)不敏感或对变音符号不敏感的搜索例程。
特别是'ي'是U + 064A'阿拉伯语字母',而'ی'是U + FBFC'阿拉伯语信件FARSI YEH ISOLATED FORM'。
您可以查看方法localizedCaseInsensitiveCompare:
或各种搜索选项,例如NSDiacriticInsensitiveSearch
。
这是一篇讨论该问题的博客文章,但它实际上没有说明如何解决问题:http://www.siao2.com/2006/02/14/531572.aspx
答案 1 :(得分:1)
我用这种方法解决了这个问题:
- (NSString *)correctSearchTermCharcters:(NSString *)searchTerm
{
return [searchTerm stringByReplacingOccurrencesOfString:@"ي" withString:@"ی"];
}
如果需要,可以替换更多字符。