在实现 searchBar
时,我希望 searchBar
忽略重音和大小写,因此我使用了以下代码行:
let range = tmp.rangeOfString(searchText, options: [NSStringCompareOptions.DiacriticInsensitiveSearch, NSStringCompareOptions.CaseInsensitiveSearch])
但是,在搜索BLOF
时,这似乎找不到以下字符串
BLØF & Nielson - Mannenharten (officiële video)
有什么方法可以改进 searchBar
将 ø 视为 o,就像它对其他重音符号所做的那样?
最佳答案
查看维基百科关于 Ø 的文章。引用:
... Although these names suggest it is a ligature or a diacritical variant of the letter o, it is considered a separate letter in Norwegian and Danish ...
这意味着你不能去掉重音符号来得到O
,因为它不是重音字符。只需 Ø != O + 重音
。
你可以认为你可以手动将其转换为O
。恕我直言,这不是一个好主意,因为在不支持 Ø
的字符集中,Ø
经常被 OE
替换。经常并不意味着总是。
保持原样,与Ø
进行比较。它不是 O
,也不是没有重音的 O
,它不是连字,它是挪威语和瑞典语中的单独字符。
关于nsstring - Swift DiacriticInsensitive搜索 ø,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31212567/