Swift:
Slette tegn som matcher et mønster
Slik gjør du:
// Eksempel på å slette alle tall
var greeting = "Hei 2023, velkommen!"
let digitsCharacterSet = CharacterSet.decimalDigits
greeting = greeting.filter { !(digitsCharacterSet.contains($0.unicodeScalars.first!)) }
print(greeting) // "Hei , velkommen!"
// Eksempel på å slette bestemte bokstaver, f.eks. vokaler
var message = "Dette er en bokstavfest."
let vowels = "aeiouyæøå"
message = message.filter { !vowels.contains($0) }
print(message) // "Dtt r n bkstvfst."
Deep Dive
Pattern-matching og sletting av tegn er vanlige tekstbehandlingsoperasjoner og har røtter i tidlige programmeringsspråk. Regex, eller regulære uttrykk, er et mektig verktøy som lar utviklere definere komplekse søkemønstre for tekstmanipulasjon, men Swift tilbyr også høynivå funksjoner, slik som filter
og CharacterSet
, for enklere oppgaver. Alternativer til direkte sletting inkluderer substring-erstatning eller transformasjon ved bruk av tekstparsering biblioteker. Implementeringsmessig må man alltid være oppmerksom på ytelse, spesielt med lange strenger eller komplekse mønstre.
Se Også
- Swift’s String dokumentasjon: https://developer.apple.com/documentation/swift/string
- Swift’s CharacterSet dokumentasjon: https://developer.apple.com/documentation/foundation/characterset
- Regex i Swift: https://nshipster.com/swift-regular-expressions/