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

spr*_*ad7 2 search diacritics realm ios swift

我有一个应用程序,我想知道是否有可能,如果我试图找到一个基于其名称的街道,例如"ceska",我的应用程序可以匹配名称包含变音符号的街道,例如"Česká".

我尝试过使用:

let predicate = NSPredicate(format: "name contains[c] %@", searchText)
Run Code Online (Sandbox Code Playgroud)

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

Sul*_*han 7

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

选项d中contains的控制变音符号.选项c中contains的控制的情况下的灵敏度.

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

  • contains只会找到ceska(完全匹配)
  • contains[c]会发现ceska和Ceska
  • contains[d]会发现ceska和?eska
  • contains[cd]会发现ceska,?eska,Ceska和?eska

从Realm Swift v2.5.0开始支持变音不敏感修饰符.