搜索阿拉伯语文本,同时忽略变音符号或重音符号

时间:2016-09-17 16:11:16

标签: ios swift arabic

当我使用带有元音的阿拉伯语(fatha,kasra等)时,搜索功能正常工作。如何在元音/重音不敏感的情况下搜索阿拉伯语文本?

例如,如果我搜索واليوم,它应该显示所有结果,例如واليوم

这是我与元音(变音符号)一起使用的代码。

 let arabicMatch = Dua.arabic.rangeOfString(searchText, options: NSStringCompareOptions.CaseInsensitiveSearch)

对于swift和iOS 9。

2 个答案:

答案 0 :(得分:4)

NSStringCompareOptions也可以使用DiacriticInsensitiveSearch(与不区分大小写的方式相同)。

答案 1 :(得分:0)

或者您可以使规范化字符串

extension String {

func normalizeArabic() -> String {
    let newString = NSMutableString(string: self) as CFMutableString
    CFStringTransform(newString, nil, kCFStringTransformLatinArabic, Bool(truncating: 0))
    CFStringTransform(newString, nil, kCFStringTransformStripCombiningMarks, Bool(truncating: 0))
    return newString as String
}}
相关问题