是否斯威夫特有一个修剪方法的字符串?例如:

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

当前回答

斯威夫特3

let result = " abc ".trimmingCharacters(in: .whitespacesAndNewlines)

其他回答

下面介绍如何从字符串的开头和结尾删除所有空白。

(用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"

(用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"

斯威夫特3

let result = " abc ".trimmingCharacters(in: .whitespacesAndNewlines)

Swift 5和4.2

let trimmedString = " abc ".trimmingCharacters(in: .whitespaces)
 //trimmedString == "abc"

在Swift3 XCode 8 Final中

注意CharacterSet。空格不再是函数了!

(NSCharacterSet.whitespaces也不是)

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

把这段代码放在你项目的一个文件中,比如Utils.swift:

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

所以你可以这样做:

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

Swift 3.0解决方案

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

所以你可以这样做:

let result = " Hello World ".trim()
// result = "HelloWorld"