如何让 `NSPredicate` 在搜索中忽略一些字符
How to make `NSPredicate` to ignore a some characters in searching
考试:
我在核心数据 id
属性中存储了 V«003»
文本。
如果我将 003
或 V003
传递给 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)
}
考试:
我在核心数据 id
属性中存储了 V«003»
文本。
如果我将 003
或 V003
传递给 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)
}