У меня есть несколько строк в строках, например:Swift заменить полную строку в строках
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
}
Но как я могу заменить целую линию?
Edit:
Он больше не работает, когда его между строкой:
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.
Спасибо. У вас есть это для Swift 2.3? Его не: str.stringByReplacingOccurrencesOfString ("^ Mieter [^ \ n] + \\ s", withString: "") – derdida
ОК нашел это: str.stringByReplacingOccurrencesOfString ("^ Mieter [^ \ n] + \\ s", withString : "", options: .RegularExpressionSearch, range: nil) – derdida
Пожалуйста, используйте завершение кода, 'stringByReplacing ...', вероятно, правильно. – vadian