Ich brauche eine Möglichkeit, das erste Zeichen aus einer Zeichenfolge, die ein Leerzeichen ist, zu entfernen. Ich suche nach einer Methode oder sogar einer Erweiterung für den String-Typ, mit dem ich ein Zeichen einer Zeichenkette ausschneiden kann.Wie soll ich alle Leerzeichen aus einer Zeichenfolge entfernen? - swift
Antwort
zu entfernen vorderen und hinteren Leerzeichen:
let trimmedString = string.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet())
Swift 3/Swift 4:
Dies funktioniert nur für führende und nachfolgende Leerzeichen. Dadurch werden die in der Zeichenfolge enthaltenen Leerzeichen nicht entfernt. – sun
Wenn Sie alle Leerzeichen entfernen möchten, können Sie versuchen myString.stringByReplacingOccurrencesOfString ("", withString: "") – Lucas
Sie können auch 'NSCharacterSet.whitespaceAndNewlineCharacterSet()' verwenden, wenn Sie auch Zeilenumbruchzeichen zuschneiden möchten. – Blip
ich diese Erweiterung verwenden würde, tun es flexibel und Mimik, wie andere Sammlungen zu sein:
extension String {
func filter(pred: Character -> Bool) -> String {
var res = String()
for c in self.characters {
if pred(c) {
res.append(c)
}
}
return res
}
}
"this is a String".filter { $0 != Character(" ") } // "thisisaString"
Funktioniert nur für "" (berücksichtigt keine anderen Arten von Whitesapce) – fpg1503
Wenn Sie Leerzeichen von der Vorder- (und Rückseite), aber nicht von der Mitte entfernen möchten, sollten Sie 01 verwenden
let dirtyString = " First Word "
let cleanString = dirtyString.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet())
Wenn Sie von überall Leerzeichen entfernen möchten in der Zeichenfolge, dann möchten Sie vielleicht bei stringByReplacing aussehen ...
Diese String-Erweiterung entfernt alle Leerzeichen aus einem String, nicht nur nachfolgende Leerzeichen. ..
extension String {
func replace(string:String, replacement:String) -> String {
return self.stringByReplacingOccurrencesOfString(string, withString: replacement, options: NSStringCompareOptions.LiteralSearch, range: nil)
}
func removeWhitespace() -> String {
return self.replace(" ", replacement: "")
}
}
Beispiel:
let string = "The quick brown dog jumps over the foxy lady."
let result = string.removeWhitespace() // Thequickbrowndogjumpsoverthefoxylady.
Für Swift 3.0+ siehe die anderen Antworten. Dies ist nun eine Legacy-Antwort für Swift 2.x
Wie oben beantwortet, da Sie das erste Zeichen bei der Entfernung der .stringByTrimmingCharactersInSet interessiert sind() Instanzmethode wird gut funktionieren:
myString.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet())
Sie kann auch Ihren eigenen Charakter machen setzt die Grenzen der Saiten durch, ex zu trimmen:
myString.stringByTrimmingCharactersInSet(NSCharacterSet(charactersInString: "<>"))
Es gibt auch einen in Instanzmethode zu behandeln Entfernen oder ersetzen Teilkette aufgebaut ist s stringByReplacingOccurrencesOfString (Ziel: String, Ersatz: String). Es kann Leerzeichen oder andere Muster entfernen, die überall in der Zeichenfolge auftreten
Sie Optionen angeben können, und Bereiche, aber nicht müssen:
myString.stringByReplacingOccurrencesOfString(" ", withString: "")
Dies ist eine einfache Möglichkeit, jede Wiederholung zu entfernen oder ersetzen Muster von Zeichen in Ihrer Zeichenfolge, und kann verkettet werden, obwohl jedes Mal durch sie einen weiteren Durchlauf durch die gesamte Zeichenfolge durchlaufen muss, wodurch die Effizienz sinkt. So können Sie dies tun:
... aber es wird doppelt so lange dauern.
.stringByReplacingOccurrencesOfString() documentation from Apple site
diese String-Instanz Methoden Chaining manchmal sehr praktisch für einmalige Konvertierungen sein kann, zum Beispiel wenn Sie einen kurzen NSData Blob zu einem Hex-String ohne Leerzeichen in einer Zeile konvertieren möchten, können Sie dies mit Swift's eingebaute String-Interpolation und einige Trimm- und Ersetzungsfunktionen:
("\(myNSDataBlob)").stringByTrimmingCharactersInSet(NSCharacterSet(charactersInString: "<>")).stringByReplacingOccurrencesOfString(" ", withString: "")
Sie können auch Regex verwenden.
let trimmedString = myString.stringByReplacingOccurrencesOfString("\\s", withString: "", options: NSStringCompareOptions.RegularExpressionSearch, range: nil)
können Sie diese auch versuchen
let updatedString = searchedText?.stringByReplacingOccurrencesOfString(" ", withString: "-")
Funktioniert nur für "" (berücksichtigt keine anderen Arten von Whitesapce) – fpg1503
Swift 3-Version von BadmintonCat Antwort
extension String {
func replace(_ string:String, replacement:String) -> String {
return self.replacingOccurrences(of: string, with: replacement, options: NSString.CompareOptions.literal, range: nil)
}
func removeWhitespace() -> String {
return self.replace(" ", replacement: "")
}
}
Funktioniert nur für "" (berücksichtigt keine anderen Whitesapce-Typen) – fpg1503
Weil deine Antwort falsch ist. Die Antwort, zu der Sie ein Update bereitgestellt haben, ist ebenfalls falsch. Es gibt verschiedene Arten von Leerzeichen und deshalb ist die Verwendung von 'whitespaceCharacterSet' eine bewährte Methode. – fpg1503
Der richtige Weg, wenn man alle Arten von Leerzeichen entfernen möchten (basierend auf this SO answer) ist:
extension String {
var stringByRemovingWhitespaces: String {
let components = componentsSeparatedByCharactersInSet(.whitespaceCharacterSet())
return components.joinWithSeparator("")
}
}
Swift 3.0+ (3.0, 3.1, 3.2, 4,0)
extension String {
func removingWhitespaces() -> String {
return components(separatedBy: .whitespaces).joined()
}
}
Für swift 3,0
import Foundation
var str = " Hear me calling"
extension String {
var stringByRemovingWhitespaces: String {
let components = self.components(separatedBy: .whitespaces)
return components.joined(separator: "")
}
}
str.stringByRemovingWhitespaces //Hearmecalling
Swift 3
Sie können einfach diese Methode verwenden um alle normalen Leerzeichen in einem String zu entfernen (nicht co nsider alle Arten von Leerzeichen):
let myString = " Hello World ! "
let formattedString = myString.replacingOccurrences(of: " ", with: "")
Das Ergebnis wird sein:
HelloWorld!
Swift 3-Version
//This function trim only white space:
func trim() -> String
{
return self.trimmingCharacters(in: CharacterSet.whitespaces)
}
//This function trim whitespeaces and new line that you enter:
func trimWhiteSpaceAndNewLine() -> String
{
return self.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines)
}
Um alle Leerzeichen aus der Zeichenfolge zu entfernen:
let space_removed_string = (yourstring?.components(separatedBy: " ").joined(separator: ""))!
Funktionale Programmierung zum Entfernen von Leerstellen ausprobieren:
extension String {
func whiteSpacesRemoved() -> String {
return self.filter { $0 != Character(" ") }
}
}
- 1. Entfernen Sie alle Leerzeichen aus einer Zeichenfolge
- 2. Entfernen Sie überschüssige Leerzeichen aus einer Zeichenfolge
- 3. Entfernen von Leerzeichen aus einer Zeichenfolge
- 4. Entfernen aller Leerzeichen aus einer Zeichenfolge in Ruby
- 5. Wie entferne ich ein Leerzeichen aus einer Zeichenfolge?
- 6. Wie soll ich alle leeren Zeilen aus einer Zeichenfolge in C# entfernen?
- 7. Entfernen Sie alle Sonderzeichen aus einer Zeichenfolge in R?
- 8. PHP: Entfernen Sie zusätzliches Leerzeichen aus einer Zeichenfolge mit Regex
- 9. JavaScript entfernen Fullstop, Komma und Leerzeichen aus einer Zeichenfolge
- 10. Entfernen von führenden und nachfolgenden Leerzeichen aus einer Zeichenfolge
- 11. Wie entferne ich Leerzeichen aus einer Zeichenfolge in PostgreSQL?
- 12. Wie entfernen Sie alle alphabetischen Zeichen aus einer Zeichenfolge?
- 13. QTP/VBScript: Wie alle URLs aus einer Zeichenfolge entfernen?
- 14. Wie PHP-Code aus einer Zeichenfolge entfernen?
- 15. PHP - Entfernen Sie alle nicht-numerischen Zeichen aus einer Zeichenfolge
- 16. Wie Leerzeichen zwischen Tabellenzeilen in swift entfernen
- 17. Wie kann ich alle Leerzeichen und Zeilenumbrüche in Perl entfernen?
- 18. Referenzobjekt aus Tabelle entfernen - Swift
- 19. So entfernen Sie alle Zeichen aus einer Zeichenfolge
- 20. Entfernen Sie alle nicht-stelligen Zeichen aus einer Zeichenfolge jquery?
- 21. Entfernen Sie alle Zeilen mit bestimmten Werten aus einer Zeichenfolge.
- 22. Entfernen eines Zeichens aus einer Zeichenfolge
- 23. Fallsensitivität aus einer Zeichenfolge entfernen
- 24. Wie Leerzeichen vor und hinter einer Zeichenfolge entfernen?
- 25. mysql Entfernen Sie alle Leerzeichen am Anfang der Zeichenfolge
- 26. Wie 'em' Strich aus einer Zeichenfolge entfernen?
- 27. Alle Vorkommen mehrerer Zeichen aus einer Zeichenfolge entfernen
- 28. So entfernen Sie alle Grammatik aus einer Zeichenfolge in Java
- 29. PyPDF2 besteht darauf, alle Leerzeichen zu entfernen
- 30. JavaScript-Zeichenfolge entfernen Leerzeichen und Bindestriche
Möchten Sie das erste Leerzeichen oder _all_ Leerzeichen in der Zeichenfolge entfernen? – Alex
Mögliches Duplikat: [Leerzeichen aus Zeichensatz ohne Leerzeichen entfernen] (http://stackoverflow.com/q/26963379/1966109). –