当我使用带有元音的阿拉伯语(fatha,kasra等)时,搜索功能正常工作。如何在元音/重音不敏感的情况下搜索阿拉伯语文本?
例如,如果我搜索واليوم,它应该显示所有结果,例如واليوم
这是我与元音(变音符号)一起使用的代码。
let arabicMatch = Dua.arabic.rangeOfString(searchText, options: NSStringCompareOptions.CaseInsensitiveSearch)
对于swift和iOS 9。
答案 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
}}