Ta bort tecken som matchar ett mönster

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.

Se även