Zastępowanie i dzielenie tekstu
Przekształcanie ciągów znaków za pomocą operacji na wyrażeniach regularnych.
Zastępowanie i dzielenie tekstu to bezpłatna lekcja Swift Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Swift Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Swift Academy zawiera 4 lekcji w sumie.
Zastępowanie i dzielenie
Wyrażenia regularne służą nie tylko do dopasowywania. Napisy Swift mogą zastępować dopasowany tekst i dzielić się według wzorca, umożliwiając przekształcanie napisów bez ręcznych pętli.
replacing(_:with:)
replacing(_:with:) zwraca nowy napis, w którym każde dopasowanie wzorca zostaje zastąpione tekstem zastępczym.
let s = "a1b2c3"
let cleaned = s.replacing(/\d/, with: "*")
print(cleaned)Zastępowanie całych słów
Wzorzec może być dowolnym wyrażeniem regularnym, dlatego można jednocześnie zastąpić wszystkie ciągi cyfr jednym tekstem zastępczym.
let s = "order 1234 done"
let masked = s.replacing(/\d+/, with: "#")
print(masked)Modyfikowanie za pomocą replace
replace(_:with:) modyfikuje napis var w miejscu, zamiast zwracać jego kopię.
var text = "hello world"
text.replace(/o/, with: "0")
print(text)Zastępowanie za pomocą domknięcia
Wersja replacing(_:with:) przyjmująca domknięcie otrzymuje każde dopasowanie i zwraca tekst zastępczy, umożliwiając obliczane podstawienia.
let s = "a1 b2 c3"
let result = s.replacing(/\d+/) { match in
String((Int(match.0) ?? 0) * 10)
}
print(result)Używanie przechwyceń przy zastępowaniu
Wewnątrz domknięcia można odczytywać grupy przechwytujące z dopasowania i na ich podstawie tworzyć tekst zastępczy.
let s = "2024-05"
let out = s.replacing(/(\d+)-(\d+)/) { m in
"\(m.2)/\(m.1)"
}
print(out)split(separator:)
Napisy obsługują split(separator:) z wyrażeniem regularnym, dzieląc napis wszędzie tam, gdzie wzorzec zostanie dopasowany.
let csv = "a,b;c,d"
let parts = csv.split(separator: /[,;]/)
print(parts)Dzielenie według białych znaków
Częste zadanie: podzielenie napisu na słowa przy każdym ciągu białych znaków za pomocą /\s+/.
let line = "the quick brown"
let words = line.split(separator: /\s+/)
print(words.count)
print(words)Ograniczanie liczby podziałów
Parametr maxSplits ogranicza liczbę wykonywanych podziałów, pozostawiając resztę bez zmian.
let s = "a-b-c-d"
let parts = s.split(separator: /-/, maxSplits: 1)
print(parts)Usuwanie i zastępowanie
Operacje można łączyć: najpierw zastąpić niepożądane wzorce, a następnie podzielić tekst, aby go oczyścić i tokenizować w jednym potoku.
let raw = " one,, two ,,three "
let cleaned = raw.replacing(/,+/, with: ",")
let items = cleaned.split(separator: ",").map { $0.trimmingCharacters(in: .whitespaces) }
print(items)replacing a replacingOccurrences
Wyrażeniowe regularne replacing działa na wzorcach, natomiast starsze replacingOccurrences(of:with:) obsługuje wyłącznie dosłowne podnapisy. W przypadku zmian opartych na wzorcach należy preferować wersję wyrażeniową.
let s = "cat hat bat"
print(s.replacing(/[ch]at/, with: "X"))Szybkie sprawdzenie
Jaki wynik zwróci "a1b2".replacing(/\d/, with: "-")?
Podsumowanie
Można zastępować dopasowania za pomocą replacing(_:with:) (w wersji przyjmującej napis lub domknięcie) oraz modyfikować napis w miejscu za pomocą replace. Można też dzielić napisy według wyrażenia regularnego za pomocą split(separator:) i maxSplits. Dzięki temu wyrażenia regularne stają się kompletnym zestawem narzędzi do przekształcania tekstu.
Ucz się Swift dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 122
- Lekcje
- 409
Często zadawane pytania
Czy lekcja „Zastępowanie i dzielenie tekstu” jest bezpłatna?
Tak — pełny tekst „Zastępowanie i dzielenie tekstu” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Swift Academy, przejdź na CoddyKit PRO. Kurs Swift Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Zastępowanie i dzielenie tekstu”?
Przekształcanie ciągów znaków za pomocą operacji na wyrażeniach regularnych. Ćwiczysz Swift Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Swift Academy?
Nie wymagamy żadnego doświadczenia. Swift Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Zastępowanie i dzielenie tekstu”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Swift Academy?
Tak. Każda lekcja Swift Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Literały wyrażeń regularnych i dopasowywanie
- Grupy przechwytujące
- DSL RegexBuilder
- Zastępowanie i dzielenie tekstu