使用 Realm Swift 进行变音符号不敏感过滤
Diacritic-insensitive filtering with Realm Swift
我有一个应用程序,我想知道如果我尝试根据名称查找街道,例如 "ceska",我的应用程序是否可以匹配名称包含变音符号的街道,例如“捷克”。
我试过使用:
let predicate = NSPredicate(format: "name contains[c] %@", searchText)
当使用 name contains[d]
时它不起作用。
小写字母有三种搜索变体č
。有没有变音符号的小写变体 c
、大写变体 Č
和没有变音符号的大写变体 C
.
contains
中的选项 d
控制变音符号。
contains
中的选项 c
控制区分大小写。
如果您正在寻找文本 ceska
那么:
contains
只会找到 ceska
(完全匹配)
contains[c]
会找到 ceska
和 Ceska
contains[d]
会找到 ceska
和 česka
contains[cd]
会找到 ceska
、česka
、Ceska
和 Česka
从 Realm Swift v2.5.0 开始支持不区分变音符号的修饰符。
我有一个应用程序,我想知道如果我尝试根据名称查找街道,例如 "ceska",我的应用程序是否可以匹配名称包含变音符号的街道,例如“捷克”。
我试过使用:
let predicate = NSPredicate(format: "name contains[c] %@", searchText)
当使用 name contains[d]
时它不起作用。
小写字母有三种搜索变体č
。有没有变音符号的小写变体 c
、大写变体 Č
和没有变音符号的大写变体 C
.
contains
中的选项 d
控制变音符号。
contains
中的选项 c
控制区分大小写。
如果您正在寻找文本 ceska
那么:
contains
只会找到ceska
(完全匹配)contains[c]
会找到ceska
和Ceska
contains[d]
会找到ceska
和česka
contains[cd]
会找到ceska
、česka
、Ceska
和Česka
从 Realm Swift v2.5.0 开始支持不区分变音符号的修饰符。