Ich habe versucht, die weißen Räume in einem loszuwerden NSString
entfernen, aber keine der Methoden, die ich ausprobiert habe, hat funktioniert.
Ich habe "this is a test"
und ich will bekommen"thisisatest"
.
Ich habe verwendet whitespaceCharacterSet
, was die Leerzeichen beseitigen soll.
NSString *search = [searchbar.text stringByTrimmingCharactersInSet:
[NSCharacterSet whitespaceCharacterSet]];
aber ich bekam immer die gleiche Zeichenfolge mit Leerzeichen. Irgendwelche Ideen?
objective-c
string
cocoa
nsstring
marsalal1014
quelle
quelle
Antworten:
stringByTrimmingCharactersInSet
Entfernt nur Zeichen vom Anfang und Ende der Zeichenfolge, nicht die Zeichen in der Mitte.1) Wenn Sie nur ein bestimmtes Zeichen (z. B. das Leerzeichen) aus Ihrer Zeichenfolge entfernen müssen, verwenden Sie:
2) Wenn Sie wirklich eine Reihe von Zeichen entfernen müssen (nämlich nicht nur das Leerzeichen, sondern auch Leerzeichen wie Leerzeichen, Tabulatoren, unzerbrechliches Leerzeichen usw.), können Sie Ihre Zeichenfolge aufteilen, indem Sie
whitespaceCharacterSet
die Wörter dann wieder in einer Zeichenfolge zusammenfügen ::Beachten Sie, dass diese letzte Lösung den Vorteil hat, dass jedes Leerzeichen und nicht nur Leerzeichen behandelt werden, sondern auch etwas weniger effizient ist als die
stringByReplacingOccurrencesOfString:withString:
. Wenn Sie also wirklich nur das Leerzeichen entfernen müssen und sicher sind, dass Sie kein anderes Leerzeichen als das einfache Leerzeichen haben, verwenden Sie die erste Methode.quelle
Ich bevorzuge die Verwendung von Regex wie folgt:
Sie können sich eine Kategorie auf NSString machen, um das Leben noch einfacher zu machen:
}}
Hier ist auch eine Unit-Test-Methode:
quelle
Einfache Aufgabe mit
stringByReplacingOccurrencesOfString
quelle
Dies kann Ihnen helfen, wenn Sie
\u00a0
anstelle von(Leerzeichen) auftreten. Ich hatte dieses Problem, als ich versuchte, Gerätekontakt-Telefonnummern zu extrahieren. Ich musste die phoneNumber-Zeichenfolge so ändern, dass sie kein Leerzeichen enthält.
Wann
yourString
war die aktuelle Telefonnummer?quelle
yourString.replacingOccurrences(of: "\u{00a0}", with: "")
stringByReplacingOccurrencesOfString ersetzt alle Leerzeichen in der Zeichenfolge und nicht nur den Anfang und das Ende
Verwenden
quelle
stringByReplacingOccurrencesOfString
aber geben Sie ein Beispiel fürstringByTrimmingCharactersInSet
?quelle
Dies ist für mich der beste Weg, SWIFT
und das Ergebnis ist: ciaociao
Aber der Trick ist das!
quelle
Verwenden Sie unter Marco und entfernen Sie den Raum.
in einer anderen Datei TRIM aufrufen:
Möge es Ihnen helfen ...
quelle
Dies dient zum Entfernen von Leerzeichen, wenn Sie Text aus einem Textfeld abrufen. Wenn Sie jedoch Leerzeichen zwischen Zeichenfolgen entfernen möchten, können Sie diese verwenden
Es ersetzt den leeren Raum ohne Leerzeichen und das leere Feld wird durch die folgende Methode behandelt:
quelle
quelle
Ich empfehle dringend, dies irgendwo in Ihrem Projekt zu platzieren:
quelle