Swift:
Tekstin etsiminen ja korvaaminen
How to:
let originalString = "Omena on vihreä. Omena on maukas."
let searchString = "Omena"
let replacementString = "Banaani"
let replacedString = originalString.replacingOccurrences(of: searchString, with: replacementString)
print(replacedString)Tuloste:
Banaani on vihreä. Banaani on maukas.Lisäesimerkki säännöllisillä lausekkeilla:
import Foundation
let regexOriginalString = "Kukat 001, Kukat 002, Kukat 003."
let regexPattern = "Kukat \\d{3}"
if let regex = try? NSRegularExpression(pattern: regexPattern, options: []) {
let newString = regex.stringByReplacingMatches(in: regexOriginalString,
options: [],
range: NSRange(0..<regexOriginalString.utf16.count),
withTemplate: "Kasvit")
print(newString)
}Tuloste:
Kasvit, Kasvit, Kasvit.Deep Dive
Historia: Tekstin etsimis- ja korvaustoiminnot ovat keskeisiä työkaluja ohjelmoinnissa jo vuosikymmenten ajan. Unix-pohjaisissa järjestelmissä työkalut kuten sed ovat tehneet tätä komentorivillä.
Vaihtoehdot: Swiftissä replacingOccurrences-metodi tekee perusvaihdot. Säännöllisten lausekkeiden kanssa, NSRegularExpression mahdollistaa monimutkaisemmat etsintä- ja korvauskuviot.
Toteutus: replacingOccurrences käyttää yksinkertaista merkkijonojen vertailua. NSRegularExpression hyödyntää säännöllisiä lausekkeita, jotka ovat voimakas mutta monimutkainen tapa suorittaa tekstihakuja ja -muunnoksia.
See Also
- Swift-dokumentaatio
String: https://developer.apple.com/documentation/swift/string - NSRegularExpression-dokumentaatio: https://developer.apple.com/documentation/foundation/nsregularexpression
- Säännöllisten lausekkeiden opas: https://www.regular-expressions.info/
sed-komennon opas Unixissa: https://www.gnu.org/software/sed/manual/sed.html