ich mehrere Zeilen in einem String haben, zum Beispiel:Swift ersetzen volle Linie in String
let str = "Mieter: Hannes Tester \nVerwalter: Michael Karner \n"
Jetzt möchte ich den ganzen Satz zwischen „Mieter“ und dem Zeilenumbruch entfernen. So sollte das Ergebnis sein:
let str = "Verwalter: Michael Karner \n"
Ich könnte mit Regex überprüfen, aber ich bin nur in der Lage, die Zeichenfolge zwischen zwei Wörtern zu erhalten. Zum Beispiel mit:
if let match = str.rangeOfString("(?<=Mieter)[^\n]+", options: .RegularExpressionSearch) {
print(str.substringWithRange(match)) // between
}
Aber wie kann ich eine ganze Zeile ersetzen?
Edit:
Es funktioniert nicht mehr, wenn sein zwischen einem String:
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.
Danke. Hast du es auch für Swift 2.3? Es ist nicht: str.stringByReplacingOccurrencesOfString ("^ Mieter [^ \ n] + \\ s", withString: "") – derdida
Ok es gefunden: str.stringByReplacingOccurrencesOfString ("^ Mieter [^ \ n] + \\ s", withString : "", Optionen: .RegularExpressionSearch, Bereich: nil) – derdida
Bitte verwenden Sie Code-Vervollständigung, 'stringByReplacing ...' ist wahrscheinlich korrekt. – vadian