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"

4voto

Viker Punkte 2954

Ein weiterer ähnlicher Weg:

extension String {
    var trimmed:String {
        return self.trimmingCharacters(in: CharacterSet.whitespaces)
    }
}

Verwendung:

let trimmedString = "myString ".trimmed

3voto

William Falcon Punkte 9630

Sie können die trim() Methode in einer von mir geschriebenen Swift String-Erweiterung verwenden https://bit.ly/JString.

var string = "hello  "
var trimmed = string.trim()
println(trimmed)// "hello"

2voto

Varun Naharia Punkte 5040

Sie können auch Zeichen senden, die Sie abschneiden möchten

extension String {

    func trim() -> String {

        return self.trimmingCharacters(in: .whitespacesAndNewlines)

    }

    func trim(characterSet:CharacterSet) -> String {

        return self.trimmingCharacters(in: characterSet)

    }
}

validationMessage = validationMessage.trim(characterSet: CharacterSet(charactersIn: ","))

0voto

Yeis Gallegos Punkte 484

Ich habe diese Funktion erstellt, die es ermöglicht, einen String einzugeben und eine Liste von Strings zurückzugeben, die von einem beliebigen Zeichen abgeschnitten sind

func Trim(input:String, character:Character)-> [String]
{
    var collection:[String] = [String]()
    var index  = 0
    var copy = input
    let iterable = input
    var trim = input.startIndex.advancedBy(index)

    for i in iterable.characters

    {
        if (i == character)
        {

            trim = input.startIndex.advancedBy(index)
            // an die Liste anhängen
            collection.append(copy.substringToIndex(trim))

            // Eingabe abschneiden
            index += 1
            trim = input.startIndex.advancedBy(index)
            copy = copy.substringFromIndex(trim)

            index = 0
        }
        else
        {
            index += 1
        }
    }
    collection.append(copy)
    return collection

}

da ich keine Möglichkeit gefunden habe, dies in Swift zu tun (kompiliert und funktioniert perfekt in Swift 2.0)

0voto

NonCreature0714 Punkte 5684

Vergessen Sie nicht, import Foundation oder UIKit zu importieren.

import Foundation
let trimmedString = "   aaa  "".trimmingCharacters(in: .whitespaces)
print(trimmedString)

Ergebnis:

"aaa"

Ansonsten erhalten Sie:

Fehler: Der Wert des Typs 'String' hat kein Element 'trimmingCharacters'
    return self.trimmingCharacters(in: .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