Wie kann ich feststellen, ob eine Zeichenfolge ein bestimmtes Wort enthält? Zum Beispiel habe ich eine Zeichenfolge, die lautet:
@"Here is my string."
Ich würde gerne wissen, ob ich ein Wort in der Zeichenfolge erkennen kann, wie zum Beispiel "ist".
objective-c
string
nsstring
Alex
quelle
quelle
rangeOfString
.Antworten:
So würde ich es machen:
Sie können dies einfach als Kategorie hinzufügen zu
NSString
:quelle
containsString
Exposed in NSString.Verwenden Sie den folgenden Code, um das Wort im Satz zu scannen.
quelle
In iOS8 können Sie jetzt Folgendes verwenden:
Es gibt einen interessanten Beitrag darüber, wie man es auf iOS7 "nachrüstet": http://petersteinberger.com/blog/2014/retrofitting-containsstring-on-ios-7/
quelle
Ich empfehle die Verwendung von NSLinguisticTagger . Wir können es verwenden, um zu suchen
Here is my string. His isn't a mississippi isthmus. It is?
Dies gibt aus:
Es ignoriert
His
mississippi
undisthmus
identifiziert sich sogaris
innerhalb vonisn't
.quelle
Ich hoffe, das hilft Ihnen, .. diese Zeile in die .m-Datei einzufügen oder eine separate Klasse zu erstellen und diesen Code zu integrieren.
quelle
Mit iOS 8 und Swift können wir die localizedCaseInsensitiveContainsString-Methode verwenden
quelle
Eine vollständige Lösung würde zuerst nach der Zeichenfolge suchen (ohne hinzugefügte Leerzeichen) und dann prüfen, ob das unmittelbar vorhergehende Zeichen entweder leer oder am Zeilenanfang ist. Überprüfen Sie auf ähnliche Weise, ob das unmittelbar folgende Zeichen leer oder am Zeilenende ist. Wenn beide Tests bestanden sind, haben Sie eine Übereinstimmung. Je nach Bedarf auch für möglicherweise überprüfen
,
,.
,()
etc.Ein alternativer Ansatz besteht natürlich darin, die Zeichenfolge in Wörter zu analysieren und jedes Wort einzeln zu überprüfen.
quelle