Swift:
Usuwanie znaków pasujących do wzorca
How to: (Jak to zrobić:)
import Foundation
var email = "[email protected]"
let filteredEmail = email.replacingOccurrences(of: "\\+.*@", with: "@", options: .regularExpression)
print(filteredEmail) // Wypisze "[email protected]"
import Foundation
var filePath = "/User/Downloads/Some_file(backup).txt"
let cleanPath = filePath.replacingOccurrences(of: "\\(.*\\)", with: "", options: .regularExpression)
print(cleanPath) // Wypisze "/User/Downloads/Some_file.txt"
Deep Dive (Dogłębna analiza)
Usunięcie znaków pasujących do określonego wzorca jest techniką regulowaną przez wyrażenia regularne (regex), które narodziły się w latach 50. Teoria automatów i języków formalnych była inspiracją. Teraz, używając Swifta, możemy przefiltrować stringi szybko i skutecznie.
Alternatywą jest własna funkcja skanująca znaki i budująca nowy string. Ale po co to robić, skoro mamy regex? Złożoność implementacyjna jest tam duża i łatwo o błąd.
Użycie replacingOccurrences
z options: .regularExpression
w Swift pozwala wykorzystywać moce regex bez komplikacji. String staje się elastyczny i łatwiejszy do ujarzmienia.
See Also (Zobacz również)
- Apple’s Swift documentation on String: Strings and Characters
- Regular Expression Syntax Reference: NSRegularExpression