Merkkien poistaminen hakemalla osumia kaavaan

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: