Swift Academy · Lekcja

Zastępowanie i dzielenie tekstu

Przekształcanie ciągów znaków za pomocą operacji na wyrażeniach regularnych.

Lekcja 4 z 413 kroki

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.

Bezpłatny start

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

  1. Literały wyrażeń regularnych i dopasowywanie
  2. Grupy przechwytujące
  3. DSL RegexBuilder
  4. Zastępowanie i dzielenie tekstu
← Powrót do Swift Academy