432 Stimmen

Hat Swift eine trim-Methode für Strings?

Hat Swift eine trim-Methode für String? Zum Beispiel:

let result = " abc ".trim()
// result == "abc"

12voto

Amin Punkte 544

Ja, das hat es, du kannst es so machen:

var str = "  this is the answer   "
str = str.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines)
print(srt) // "this is the answer"

CharacterSet ist tatsächlich ein sehr mächtiges Werkzeug, um eine Trim-Regel mit viel mehr Flexibilität zu erstellen als ein vordefinierter Satz wie .whitespacesAndNewlines hat.

Zum Beispiel:

var str = " Hello World !"
let cs = CharacterSet.init(charactersIn: " !")
str = str.trimmingCharacters(in: cs)
print(str) // "Hello World"

5voto

Danielvgftv Punkte 507

//Swift 4.0 Leerzeichen und Zeilenumbrüche entfernen

extension String {
    func trim() -> String {
        return self.trimmingCharacters(in: .whitespacesAndNewlines)         
    }
}

4voto

Esqarrouth Punkte 36621
extension String {
    /// EZSE: Entfernt Leerzeichen und Zeilenumbrüche
    public mutating func trim() {
         self = self.trimmed()
    }

    /// EZSE: Entfernt Leerzeichen und Zeilenumbrüche, gibt einen neuen String zurück
    public func trimmed() -> String {
        return self.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
    }
}

Aus diesem Repo von mir genommen: https://github.com/goktugyil/EZSwiftExtensions/commit/609fce34a41f98733f97dfd7b4c23b5d16416206

4voto

ViJay Avhad Punkte 2624

String auf eine bestimmte Länge kürzen

Wenn Sie einen Block von Sätzen/Text eingegeben haben und nur eine bestimmte Länge des Textes speichern möchten, fügen Sie die folgende Erweiterung zur Klasse hinzu

extension String {

   func trunc(_ length: Int) -> String {
    if self.characters.count > length {
        return self.substring(to: self.characters.index(self.startIndex, offsetBy: length))
    } else {
        return self
    }
  }

  func trim() -> String{
     return self.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines)
   }

}

Verwenden Sie

var str = "Lorem Ipsum is simply dummy text of the printing and typesetting industry."
//str hat eine Länge von 74
print(str)
//Ausgabe:  Lorem Ipsum is simply dummy text of the printing and typesetting industry.

str = str.trunc(40)
print(str)
//Ausgabe: Lorem Ipsum is simply dummy text of the

4voto

Martin Algesten Punkte 12167

In Swift3 XCode 8 Final

Beachten Sie, dass CharacterSet.whitespaces nicht mehr eine Funktion ist!

(Auch NSCharacterSet.whitespaces nicht mehr)

extension String {
    func trim() -> String {
        return self.trimmingCharacters(in: CharacterSet.whitespaces)
    }
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X