【发布时间】:2019-07-30 15:20:27
【问题描述】:
如何在 Swift (4+) 中拆分行而不省略空行?
"1\n2\n\n3".split { $0.isNewline } 和 "1\n2\n\n3".split(separator: "\n") 都只给我三件物品,而我需要四件,而第三件是空的
【问题讨论】:
如何在 Swift (4+) 中拆分行而不省略空行?
"1\n2\n\n3".split { $0.isNewline } 和 "1\n2\n\n3".split(separator: "\n") 都只给我三件物品,而我需要四件,而第三件是空的
【问题讨论】:
你可以试试:
"1\n2\n\n3".components(separatedBy: "\n")
或者更简洁易读,正如Leo Dabus所建议的那样:
"1\n2\n\n3".components(separatedBy: .newlines)
这两个结果都是:["1", "2", "", "3"]
【讨论】:
components(separatedBy: .newlines)
split 有 omittingEmptySubsequences 参数就是为了这个。
默认为true。所以只需将其设置为false:
"1\n2\n\n3".split(omittingEmptySubsequences: false) { $0.isNewline }
【讨论】: