Swift:
Ta bort tecken som matchar ett mönster
Hur man gör:
let originalString = "Det var en solig dag i maj17, 2023!"
let pattern = "[0-9]"
let regex = try! NSRegularExpression(pattern: pattern, options: [])
let range = NSRange(location: 0, length: originalString.utf16.count)
let modifiedString = regex.stringByReplacingMatches(in: originalString, options: [], range: range, withTemplate: "")
print(modifiedString) // "Det var en solig dag i maj, !"
I exemplet skapar vi ett NSRegularExpression
objekt för att matcha siffror och använda stringByReplacingMatches
för att ta bort dem från strängen. Resultatet är en renad sträng.
Djupdykning
Historiskt sett har reguljära uttryck varit verktyget för att manipulera strängar i många programmeringsspråk. Swift erbjuder ett kraftfullt NSRegularExpression
klass som är arvet från Objective-C. Det finns alternativ som att använda String
metoderna replacingOccurrences
om mönstret är enkelt. Dock, när det kommer till komplexa mönster, är NSRegularExpression
ovärderlig trots sin högre komplexitet. Vid implementering av mönsterborttagning, bör man vara medveten om prestanda, särskilt vid stora textmängder.