Usuwanie znaków pasujących do wzorca

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ż)