To musi być duplikat. Ale z tak wieloma pytaniami NSPredicate, nie mogę znaleźć właściwego.NSPredicate z ciągiem pasującym do początku słów
Mam listę obiektów Core Data, które zawierają pole compositeName
. Może być tam imię takie jak "Emily Blunt". Chcę przeszukać listę, używając NSPredicate
, która pozwoli mi wyszukać "Em", ale także "Bl", a następnie mieć tę nazwę w pobranych wynikach.
To musi być bardzo łatwe, ale jak można się domyślić, nie widzę tego. Mój dysfunkcyjnych próba na NSPredicate z wyrażenia regularnego wygląda następująco:
[NSPredicate predicateWithFormat:@"compositeName MATCHES[cd] '.*(?<=^|\\s)%@.*'", query];
moja myśl tego wyrażenia regularnego były:
- dowolną ilość znaków przed
- negatywnych przestrzeni lookbehind lub rozpoczynających
- zapytanie
- dowolna liczba znaków po
Ale to nie działa. Nie osiągam żadnych wyników. Jak to naprawić?
P.S. Jeśli istnieje rozwiązanie NSPredicate bez wyrażeń regularnych, które pasowałoby również do mojego celu.
możliwy duplikat [ „całe słowo” szukać w NSString przez NSPredicate] (http: // stackoverflow. com/questions/8559156/whole-word-search-in-a-nsstring-through-nspredicate) – epologee