Swift DiacriticInsensitiveSearch for ø
Swift DiacriticInsensitiveSearch for ø
在实现 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 + accent
.
你可以认为可以手动将其转换为O
。恕我直言,这不是个好主意,因为 Ø
在不支持 Ø
的字符集中经常被 OE
替换。经常并不意味着总是。
保持原样,与Ø
进行比较。它不是 O
,它不是没有重音符号的 O
,它不是连字,它是挪威语和瑞典语中的一个单独的字符。
在实现 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 + accent
.
你可以认为可以手动将其转换为O
。恕我直言,这不是个好主意,因为 Ø
在不支持 Ø
的字符集中经常被 OE
替换。经常并不意味着总是。
保持原样,与Ø
进行比较。它不是 O
,它不是没有重音符号的 O
,它不是连字,它是挪威语和瑞典语中的一个单独的字符。