如何让 `NSPredicate` 在搜索中忽略一些字符

How to make `NSPredicate` to ignore a some characters in searching

考试:

我在核心数据 id 属性中存储了 V«003» 文本。

如果我将 003V003 传递给 NSPredicate 它应该会批准搜索,但是由于 «» 字符 NSFetchRequest 找不到字段。

如何忽略 NSPredicate 中的 «» 个字符?

NSPredicate有什么Regular Expression方法吗?

使用正则表达式非常简单,问号表示 可选 字符。

let pattern = "V«?003»?"
NSPredicate(format: "id MATCHES %@", pattern)

编辑: 为了修复用户输入,我在每个用户输入字符之间添加了 «?»?

func generatePattern(item: String) -> String {
    var str = ""
    for st in item {
        str.append(contentsOf: "«?»?")
        str.append(st)
    }
    str.append(contentsOf: "«?»?")
    return String(str)
}