NSPredicate für die reguläre Suche

8

Ich verwende NSPredicate für die Durchführung der Suche, so wie es auf dem iPhone funktioniert, wenn wir nach einer App suchen.

Ich habe zum Beispiel 4 Schlüsselwörter

gesagt
  1. Deccan
  2. Neu-Delhi
  3. Ahmedabad
  4. Salaam Delhi

Ich habe versucht, ein Prädikat mit

zu erstellen

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"keyword BEGINSWITH[c] 'd'" Es gibt mir Deccan als Ausgabe. Aber das Problem ist, ich möchte jedes Wort beginnen mit d Also aus dem obigen Beispiel brauche ich Ausgabe als Deccan, Neu Delhi, Salaam Delhi , aber NICHT Ahmedabad

Stucked in dieser Ausgabe von Stunden. versucht enthält, passt aber mein Pech ..

Jede Hilfe für den richtigen Weg wird wirklich geschätzt.

    
Suresh Varma 23.04.2012, 09:25
quelle

3 Antworten

13

Danke Jungs für Ihre Antworten Hier ist, was ich mit

erfinde %Vor%     
Suresh Varma 23.04.2012, 10:23
quelle
1

Es gibt zwei Wege für dich

  1. Teilen Sie den Posten durch '' und verwenden Sie NSPredicate *predicate = [NSPredicate predicateWithFormat:@"keyword BEGINSWITH[c] 'd'"]
  2. Oder der bessere Weg, zwei Prädikate zu verwenden:

predicate = [NSPredicate predicateWithFormat:@"keyword BEGINSWITH[c] 'd' OR keyword contains[c] ' d'"] // i mean,'space+d'

Damit werden Sie beide möglichen Fälle erfüllen.

    
Nikita Pestrov 23.04.2012 10:07
quelle
0

Betrachten Sie "Gefällt mir" und "Übereinstimmungen". Beachten Sie jedoch, dass dies relativ teure Vorgänge sind und bei großen Datensätzen viel Zeit in Anspruch nehmen können.

In diesem Beispiel nehme ich an, was Sie wollen, wenn ein beliebiges Leerzeichen mit "d"

beginnt

Dies überprüft, ob das Schlüsselwort entweder mit "d" beginnt oder eine Sequenz mit einem "" gefolgt von "d"

hat %Vor%

Dieser verwendet einen regulären Ausdruck, der sehr ähnlich ist (verwenden Sie die Regex, die am besten zu Ihrer Situation passt:

%Vor%     
Jody Hagins 23.04.2012 10:20
quelle

Tags und Links