Menu
Coddy logo textTech

Zastępowanie podciągów

Część sekcji Logika i przepływ programu ścieżki Swift w Coddy. Lekcja 5 z 56.

replacingOccurrences(of:with:) zwraca nowy ciąg znaków, w którym każde wystąpienie jednego podciągu zostało zastąpione innym:

let phone = "555-123-4567"
let digits = phone.replacingOccurrences(of: "-", with: "")
print(digits)              // "5551234567"

Podobnie jak metody zmiany wielkości liter, zwraca nowy obiekt String; oryginał pozostaje niezmieniony. Łącz wywołania, gdy chcesz usunąć kilka wzorców:

let messy = "  555-123 4567  "
let clean = messy
    .replacingOccurrences(of: "-", with: "")
    .replacingOccurrences(of: " ", with: "")
print(clean)               // "5551234567"

Dwie zamiany oznaczają dwa przebiegi po ciągu znaków. W kodzie, w którym wydajność ma znaczenie i który przetwarza ogromne ciągi znaków, lepiej wykonać pojedynczy przebieg filter po znakach; w codziennej pracy można łączyć zamiany — to czytelne rozwiązanie.

challenge icon

Wyzwanie

Początkujący

Wczytaj pojedynczy wiersz danych wejściowych. Potraktuj go jako zdanie i utwórz slug odpowiedni do adresu URL, wykonując następujące czynności:

  1. Zamień wszystkie litery w danych wejściowych na małe
  2. Zastąp każdą spację znakiem -
  3. Usuń każdy znak !, ? i .

Wypisz uzyskany slug.

Dla danych wejściowych Hello World! wynikiem jest hello-world. Dla Is Swift Fun? wynikiem jest is-swift-fun.

Spróbuj swoich sił

let line = readLine()!

// TODO: zamień litery na małe, spacje na łączniki i usuń znaki ! ? .
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Edytor online Swift