我从一个 api 得到一个字符串值,里面有很多无用的空行:
bla bla bla
bla
bla bla bla
我想删除那些空行以获得这个结果:
bla bla bla
bla
bla bla bla
我该如何继续?
最佳答案
编辑/更新:
Swift 5.2 或更高版本
可以使用StringProtocol
拆分方法
func split(maxSplits: Int = Int.max, omittingEmptySubsequences: Bool = true, whereSeparator isSeparator: (Character) throws -> Bool) rethrows -> [Substring]
并传递一个字符属性 isNewline
作为 KeyPath。然后你只需要使用 joined(separator: "\n")` 再次连接你的字符串:
let string = "bla bla bla\n\n\nbla\nbla bla bla\n"
let lines = string.split(whereSeparator: \.isNewline)
let result = lines.joined(separator: "\n")
print(result) // "bla bla bla\nbla\nbla bla bla"
或者作为StringProtocol
的扩展:
extension StringProtocol {
var lines: [SubSequence] { split(whereSeparator: \.isNewline) }
var removingAllExtraNewLines: String { lines.joined(separator: "\n") }
}
string.lines // ["bla bla bla", "bla", "bla bla bla"]
string.removingAllExtraNewLines // "bla bla bla\nbla\nbla bla bla"
关于ios - 我应该如何从字符串中删除所有空行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35897807/