Как заставить `NSPredicate` игнорировать некоторые символы в поиске - PullRequest
0 голосов
/ 09 мая 2018

за экзамен:

Я сохранил V«003» текст в основных данных id атрибут.

Если я передам 003 или V003 в NSPredicate, он должен одобрить поиск, но из-за « и » символов NSFetchRequest не может найти поле.

Как можно игнорировать « и » символов в NSPredicate?

Есть ли Regular Expression способ для NSPredicate?

1 Ответ

0 голосов
/ 12 мая 2018

С регулярным выражением это довольно просто, вопросительный знак обозначает необязательный символ.

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

Edit: чтобы исправить ввод пользователя, я добавил «?»? между каждым вводимым пользователем символом:

func generatePattern(item: String) -> String {
    var str = ""
    for st in item {
        str.append(contentsOf: "«?»?")
        str.append(st)
    }
    str.append(contentsOf: "«?»?")
    return String(str)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...