Swift:
Merkkien poistaminen hakemalla osumia kaavaan
How to: / Kuinka:
Swiftissä merkkien poistaminen kuviota käyttäen onnistuu String
laajennoksilla ja säännöllisillä lausekkeilla (regexp). Tässä helppo esimerkki:
extension String {
func deleteCharacters(matching pattern: String) -> String {
return self.replacingOccurrences(of: pattern, with: "", options: .regularExpression)
}
}
let sampleString = "Tämä1 on2 testi3merkkijono4!"
let cleanedString = sampleString.deleteCharacters(matching: "\\d") // Poistaa kaikki numerot
print(cleanedString) // Tulostaa: "Tämä on testimerkkijono!"
Deep Dive / Sukellus syvyyksiin:
Swift otti käyttöön säännölliset lausekkeet jonkun aikaa sitten, ja ne ovat siitä lähtien olleet vahva väline merkkijonojen käsittelyyn. Vaihtoehtona on käyttää myös NSPredicate
, mutta se on raskaampi ja monimutkaisempi tapa. Poistotapahtuman tehokkuus riippuu kuvion monimutkaisuudesta ja stringin pituudesta. Siinä missä yksinkertaiset toimenpiteet suoriutuvat nopeasti, monimutkaisemmat regexpit voivat hidastaa suorituskykyä.
See Also / Katso myös:
- Swift-kielen virallinen dokumentaatio
String
-tyypistä: Swift String Documentation - Säännöllisten lausekkeiden käytöstä Swiftissä: NSRegularExpression
- Online säännöllisten lausekkeiden testaustyökalu: RegExr