¿Swift tiene un método de recorte en String?

Resuelto tounaobun asked hace 10 años • 16 respuestas

¿Swift tiene un método de recorte en String? Por ejemplo:

let result = " abc ".trim()
// result == "abc"
tounaobun avatar Nov 07 '14 16:11 tounaobun
Aceptado

Así es como se eliminan todos los espacios en blanco desde el principio y el final de un archivo String.

(Ejemplo probado con Swift 2.0 ).

let myString = "  \t\t  Let's trim all the whitespace  \n \t  \n  "
let trimmedString = myString.stringByTrimmingCharactersInSet(
    NSCharacterSet.whitespaceAndNewlineCharacterSet()
)
// Returns "Let's trim all the whitespace"

(Ejemplo probado con Swift 3+ ).

let myString = "  \t\t  Let's trim all the whitespace  \n \t  \n  "
let trimmedString = myString.trimmingCharacters(in: .whitespacesAndNewlines)
// Returns "Let's trim all the whitespace"
Sivanraj M avatar Nov 07 '2014 09:11 Sivanraj M

Coloque este código en un archivo de su proyecto, algo así como Utils.swift:

extension String {   
    func trim() -> String {
        return self.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet())
    }
}

Entonces podrás hacer esto:

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

Solución rápida 3.0

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

Entonces podrás hacer esto:

let result = " Hello World ".trim()
// result = "HelloWorld"
Thiago Arreguy avatar Sep 20 '2015 21:09 Thiago Arreguy

En Swift 3.0

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

Y puedes llamar

let result = " Hello World ".trim()  /* result = "Hello World" */
Bishow Gurung avatar Jun 15 '2016 18:06 Bishow Gurung