我在String中有多行,例如:
let str = "Mieter: Hannes Tester \nVerwalter: Michael Karner \n"
现在我要删除“Mieter”和换行符之间的整个句子。所以结果应该是:
let str = "Verwalter: Michael Karner \n"
我可以用Regex查看,但我只能得到两个单词之间的字符串。例如:
if let match = str.rangeOfString("(?<=Mieter)[^\n]+", options: .RegularExpressionSearch) {
print(str.substringWithRange(match)) // between
}
但我怎样才能更换整条线?
修改:
它在字符串之间不再起作用了:
let str = "Test \n Mieter: \n Hausverwalter: \n Firma: \n"
str.stringByReplacingOccurrencesOfString("^Mieter[^\n]+\\s", withString: "", options: .RegularExpressionSearch, range: nil)
// so "Mieter \n" is not being replaced.
答案 0 :(得分:3)
使用replacingOccurrencesOf
let str = "Mieter: Hannes Tester \nVerwalter: Michael Karner \n"
str.replacingOccurrences(of: "^Mieter[^\n]+\\s", with: "", options: .regularExpression)
这是Swift 3代码
修改强>
如果子字符串不在字符串的开头,则删除前导插入符号(^
)。