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

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

当前回答

把这段代码放在你项目的一个文件中,比如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"

其他回答

在Swift 3.0中

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

你可以打电话

let result = " Hello World ".trim()  /* result = "Hello World" */
extension String {
    /// EZSE: Trims white space and new line characters
    public mutating func trim() {
         self = self.trimmed()
    }

    /// EZSE: Trims white space and new line characters, returns a new string
    public func trimmed() -> String {
        return self.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
    }
}

从我的这个回购:https://github.com/goktugyil/EZSwiftExtensions/commit/609fce34a41f98733f97dfd7b4c23b5d16416206

Swift 5和4.2

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

把这段代码放在你项目的一个文件中,比如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"

//Swift 4.0删除空格和新行

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