删除Swift中字符串开头的所有换行符

时间:2015-03-10 07:10:45

标签: string swift

我有一个这样的字符串:

"

BLA
Blub"

现在我想删除所有主要换行符。 (但只有那些直到第一个“真实的单词”出现。这怎么可能?

由于

2 个答案:

答案 0 :(得分:52)

如果可以接受从字符串的两端中删除换行符(和其他空格),则可以使用

let string = "\n\nBLA\nblub"
let trimmed = string.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
// In Swift 1.2 (Xcode 6.3):
let trimmed = (string as NSString).stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())

仅删除前导换行符/空格字符 可以(例如)使用正则表达式搜索 并替换:

let trimmed = string.stringByReplacingOccurrencesOfString("^\\s*",
    withString: "", options: .RegularExpressionSearch)

"^\\s*"匹配字符串开头的所有空格。 使用"^\\n*"仅匹配换行符。

更新 Swift 3(Xcode 8):

let trimmed = string.replacingOccurrences(of: "^\\s*", with: "", options: .regularExpression)

答案 1 :(得分:6)

您可以使用extension进行修剪

前。

let string = "\n\nBLA\nblub"
let trimmed = string.trim()

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