Swift:
Suchen und Ersetzen von Text
How to:
Um Text in Swift zu suchen und zu ersetzen, verwenden wir die replacingOccurrences(of:with:)
Methode des String
Typs. Hier ein Beispiel:
let originalText = "Hallo Welt! Swift macht Spaß."
let searchText = "Welt"
let replacementText = "Universe"
let newText = originalText.replacingOccurrences(of: searchText, with: replacementText)
print(newText) // "Hallo Universe! Swift macht Spaß."
Falls du Groß- und Kleinschreibung ignorieren möchtest, kannst du einen String.CompareOptions
Parameter hinzufügen:
let caseInsensitiveText = originalText.replacingOccurrences(of: searchText, with: replacementText, options: .caseInsensitive, range: nil)
print(caseInsensitiveText) // "Hallo Universe! Swift macht Spaß."
Deep Dive:
Die Methode replacingOccurrences(of:with:)
ist Teil der String
API in Swift. Historisch gesehen entstammt die Idee der textbasierten Suche und Ersetzung frühen Textverarbeitungssystemen und wurde mit der Zeit in Programmiersprachen integriert, um Automatisierung und Datenverarbeitung zu verbessern.
Alternative Ansätze beinhalten reguläre Ausdrücke (RegEx), die in Swift mit der NSRegularExpression
Klasse umgesetzt werden können. RegEx bietet eine leistungsstärkere, aber komplexere Lösung für Such- und Ersetzungsoperationen, insbesondere bei komplizierten Mustern.
Die Implementation berücksichtigt Zeichencodierung und Lokalisierung. Deshalb führt die replacingOccurrences(of:with:)
Methode in manchen Fällen nicht zu erwarteten Ergebnissen, wenn die Standard-Einstellungen bezüglich der Lokalisierung und des Unicode-Kollationsalgorithmus nicht beachtet werden.
See Also:
- Apples Swift Dokumentation zur
String
Klasse: https://developer.apple.com/documentation/swift/string - Ein Tutorial zu regulären Ausdrücken in Swift: https://www.raywenderlich.com/5765-regular-expressions-tutorial-getting-started-with-regex-in-swift
- Eine Einführung in die Unicode-Verarbeitung in Swift: https://swift.org/blog/strings-in-swift/