Wie sollte ich entfernen Sie die führenden Leerzeichen aus einem string? - swift
Ich brauche einen Weg, um entfernen Sie das erste Zeichen aus einem string das ist ein Raum. Ich bin auf der Suche nach einer Methode oder sogar eine Erweiterung für den String-Typ, die ich verwenden können, schneiden Sie ein Zeichen eines Strings.
- Möchten Sie das erste Leerzeichen, oder alle Leerzeichen in der Zeichenfolge?
- Mögliche Duplikate von: Entfernen whitespace-Zeichen aus string ohne Leerzeichen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Entfernen führende und nachfolgende Leerzeichen:
Swift 3 /Swift-4:
NSCharacterSet.whitespaceAndNewlineCharacterSet()
wenn Sie möchten, zu trimmen newline-Zeichen.Den richtigen Weg, wenn Sie möchten, entfernen alle Arten von Leerzeichen (basierend auf diese SO beantworten) ist:
Swift 3.0+ (3.0, 3.1, 3.2, 4.0)
BEARBEITEN
Dieser Antwort wurde geschrieben, wenn die Frage war, über das entfernen von alle Leerräume, die Frage wurde bearbeitet erwähnen nur die führenden Leerzeichen. Wenn Sie nur wollen, entfernen Sie die führenden Leerzeichen verwenden Sie die folgenden:
Diese Zeichenfolge extension entfernt alle Leerzeichen aus einer Zeichenfolge, die nicht nur Leerzeichen ...
Beispiel:
Swift 3
Können Sie einfach diese Methode verwenden, um entfernen Sie alle normalen Leerzeichen in einer Zeichenfolge (nicht der Auffassung, alle Arten von whitespace-Zeichen):
Das Ergebnis wird sein:
Können Sie auch regex.
Für Swift 3.0+ siehe die anderen Antworten. Das ist jetzt ein Vermächtnis Antwort für Swift 2.x
Als beantwortet wurden, da Sie daran interessiert sind, entfernen Sie das erste Zeichen der .stringByTrimmingCharactersInSet() Instanz-Methode wird gut funktionieren:
Können Sie auch Ihren eigenen Charakter-Sätze zu kürzen, die Grenzen der Saiten durch, ex:
Gibt es auch einen integrierten Instanz-Methode zu umgehen, zu entfernen oder ersetzen von Teilstrings genannt stringByReplacingOccurrencesOfString(target: String, replacement: String). Es kann entfernen Sie Leerzeichen oder andere Muster, die auftreten, überall in Ihrem string
Können Sie Optionen angeben und reicht, müssen aber nicht:
Dies ist eine einfache Möglichkeit, entfernen oder ersetzen einer sich wiederholenden Muster der Zeichen im string, und kann verkettet werden, obwohl jedes mal durch hat es sich um einen anderen pass durch die gesamte Zeichenfolge, die Verringerung der Effizienz. Damit Sie dies tun können:
...aber es wird doppelt so lange dauern.
.stringByReplacingOccurrencesOfString () - Dokumentation von Apple-Website
Verkettung diese Zeichenkette Instanz-Methoden können manchmal sehr praktisch sein, für einmalige Konvertierungen, zum Beispiel, wenn Sie konvertieren möchten kurze NSData blob-Daten in eine hex-Zeichenfolge ohne Leerzeichen in einer Zeile, Sie können dies tun, mit Swift-built-in String-interpolation und einige Trimm-und einbauen:
Für swift 3.0
Swift 4
Den ausgezeichneten Fall, benutzen Sie den regex:
Ich würde diese Erweiterung verwenden, um flexibel zu sein und den nachahmen, wie andere Sammlungen es tun:
Wenn Sie wollen, entfernen Sie Leerzeichen aus der Vorder-und Rückseite), die aber nicht in der Mitte, die Sie verwenden sollten
stringByTrimmingCharactersInSet
Wenn Sie möchten, entfernen Sie Leerzeichen aus jeder beliebigen Stelle im string, dann möchten Sie vielleicht zu schauen, stringByReplacing...
" First Word "
Ausgänge"First Word"
).Können Sie versuchen, Diese so gut
Versuchen die funktionale Programmierung, um Leerzeichen entfernen:
Swift 3-version
Wenn das jemand entfernen Sie zusätzliche Leerzeichen aus string e.g =
"This is the demo text remove extra space between the words."
Mit dieser Funktion können Sie im Swift 4.
und Ergebnis
Trimmen Leerzeichen im Swift 4
Sich für mich die folgende Zeile verwendet, zum entfernen des weißen Bereichs.
Noch eine andere Antwort, manchmal ist der input-string enthalten kann, die mehr als ein Leerzeichen zwischen den Wörtern. Wenn Sie brauchen, um zu standardisieren, um nur 1 Leerzeichen zwischen den Wörtern, die versuchen, diese (Swift 4/5)
Swift 3-version von BadmintonCat Antwort
whitespaceCharacterSet
ist die beste Praxis.Zu entfernen Sie alle Leerzeichen aus dem string: