使用Realm Swift进行变音符号不敏感过滤

时间:2017-03-22 20:32:44

标签: ios swift search realm diacritics

我有一个应用程序,我想知道是否有可能,如果我尝试根据其名称找到一条街道,例如“ceska”,我的应用程序可以匹配名称中包含变音符号的街道,例如“ CESKA”。

我尝试过使用:

let predicate = NSPredicate(format: "name contains[c] %@", searchText)

使用name contains[d]时,它不起作用。

1 个答案:

答案 0 :(得分:6)

小写字母č有三种搜索变体。存在无变音符小写变体c,大写变体Č和大写无变音符变体C

d中的选项contains控制变音符号。 c中的选项contains控制区分大小写。

如果您正在寻找文字ceska,那么:

  • contains只会找到ceska(完全匹配)
  • contains[c]会找到ceskaCeska
  • contains[d]会找到ceskačeska
  • contains[cd]会找到ceskačeskaCeskaČeska

Realm Swift v2.5.0支持变音不敏感修饰符。