nsstring - Swift DiacriticInsensitive搜索 ø

标签 nsstring swift2

在实现 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/

相关文章:

Swift 2.0 错误处理

ios - URLsession 委托(delegate)函数出错

ios - 使用 Alamofire ObjectMapper 映射到显示 nil 的 Swift 对象问题

iphone - NSString 到 UIImage 绘图问题

ios - 尝试重命名 Documents 目录中的文件时出现错误 "file:/..."

ios - 计算可以包含在具有特定大小的容器中的文本

swift - 字典不符合 ExtensibleCollectionType

ios - ViewController 不访问您的元素

objective-c - 如何在 NSString 中使用 NULL 字符?

iphone - 如何删除 NSArray 中字符串的前导和尾随空格?