Ich brauche eine Möglichkeit, das erste Zeichen aus einer Zeichenfolge zu entfernen, die ein Leerzeichen ist. Ich suche nach einer Methode oder sogar einer Erweiterung für den String-Typ, mit der ich ein Zeichen eines Strings ausschneiden kann.
170
Antworten:
So entfernen Sie führende und nachfolgende Leerzeichen:
Swift 3 / Swift 4:
quelle
NSCharacterSet.whitespaceAndNewlineCharacterSet()
wenn Sie auch Zeilenumbrüche schneiden möchten.Der richtige Weg, wenn Sie alle Arten von Leerzeichen entfernen möchten (basierend auf dieser SO-Antwort ), ist:
Swift 3.0+ (3.0, 3.1, 3.2, 4.0)
BEARBEITEN
Diese Antwort wurde veröffentlicht, als es um das Entfernen aller Leerzeichen ging. Die Frage wurde bearbeitet, um nur führende Leerzeichen zu erwähnen. Wenn Sie nur führende Leerzeichen entfernen möchten, verwenden Sie Folgendes:
quelle
Diese String-Erweiterung entfernt alle Leerzeichen aus einem String, nicht nur nachgestellte Leerzeichen ...
Beispiel:
quelle
Swift 3
Mit dieser Methode können Sie einfach alle normalen Leerzeichen in einer Zeichenfolge entfernen (berücksichtigt nicht alle Arten von Leerzeichen):
Das Ergebnis wird sein:
quelle
Sie können auch Regex verwenden.
quelle
Für Swift 3.0+ siehe die anderen Antworten. Dies ist jetzt eine Legacy-Antwort für Swift 2.x.
Wie oben beantwortet, funktioniert die Instanzmethode .stringByTrimmingCharactersInSet () gut , da Sie das erste Zeichen entfernen möchten :
Sie können auch eigene Zeichensätze erstellen, um die Grenzen Ihrer Zeichenfolgen zu verringern, z.
Es gibt auch eine integrierte Instanzmethode zum Entfernen oder Ersetzen von Teilzeichenfolgen mit dem Namen stringByReplacingOccurrencesOfString (Ziel: String, Ersetzung: String) . Es kann Leerzeichen oder andere Muster entfernen, die an einer beliebigen Stelle in Ihrer Zeichenfolge auftreten
Sie können Optionen und Bereiche angeben, müssen jedoch nicht:
Dies ist eine einfache Möglichkeit, sich wiederholende Zeichenmuster in Ihrer Zeichenfolge zu entfernen oder zu ersetzen. Sie kann verkettet werden, obwohl jedes Mal ein weiterer Durchlauf durch die gesamte Zeichenfolge erforderlich ist, wodurch die Effizienz verringert wird. So können Sie Folgendes tun:
... aber es wird doppelt so lange dauern.
.stringByReplacingOccurrencesOfString () -Dokumentation von der Apple-Site
Das Verketten dieser String-Instanzmethoden kann manchmal für einmalige Konvertierungen sehr praktisch sein. Wenn Sie beispielsweise einen kurzen NSData-Blob in einen Hex-String ohne Leerzeichen in einer Zeile konvertieren möchten, können Sie dies mit Swifts integrierter String-Interpolation und etwas Trimmen und tun Ersetzen:
quelle
Für schnelle 3.0
quelle
Swift 4
Der ausgezeichnete Fall, um den regulären Ausdruck zu verwenden:
quelle
Ich würde diese Erweiterung verwenden, um flexibel zu sein und nachzuahmen, wie andere Sammlungen dies tun:
quelle
Wenn Sie Leerzeichen von vorne (und hinten), aber nicht von der Mitte entfernen möchten, sollten Sie verwenden
stringByTrimmingCharactersInSet
Wenn Sie Leerzeichen an einer beliebigen Stelle in der Zeichenfolge entfernen möchten, sollten Sie sich stringByReplacing ...
quelle
" First Word "
Ausgänge"First Word"
).Swift 4, 4.2 und 5
Entfernen Sie nur Platz von vorne und von Ende
Entfernen Sie Leerzeichen an jeder Stelle in der Zeichenfolge
quelle
Sie können dies auch versuchen
quelle
Versuchen Sie eine funktionale Programmierung, um Leerzeichen zu entfernen:
quelle
quelle
Wenn jemand zusätzlichen Platz aus der Zeichenfolge entfernt, z. B. =
"This is the demo text remove extra space between the words."
Sie können diese Funktion in Swift 4 verwenden.
und Ergebnis wird sein
quelle
Hallo, das könnte spät sein, aber einen Versuch wert. Dies ist aus einer Spielplatzdatei. Sie können es zu einer String-Erweiterung machen.
Dies ist in Swift 5.3 geschrieben
Methode 1:
Methode 2:
quelle
Swift 3 Version
quelle
Leerzeichen in Swift 4 kürzen
quelle
Noch eine Antwort: Manchmal kann die Eingabezeichenfolge mehr als ein Leerzeichen zwischen Wörtern enthalten. Wenn Sie standardisieren müssen, um nur 1 Leerzeichen zwischen den Wörtern zu haben, versuchen Sie dies (Swift 4/5).
quelle
In der folgenden Zeile wurde für mich Leerzeichen entfernt.
quelle
quelle
Swift 3-Version der Antwort von BadmintonCat
quelle
whitespaceCharacterSet
eine bewährte Methode ist.quelle
So entfernen Sie alle Leerzeichen aus der Zeichenfolge:
quelle