Menu
Coddy logo textTech

Dzielenie i łączenie

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

Dwa codzienne narzędzia do pracy z tekstem rozdzielanym separatorami. Oba pochodzą z Foundation, które jest już zaimportowane.

components(separatedBy:) dzieli ciąg znaków na tablicę wartości typu String przy użyciu dowolnego separatora, który przekażesz:

let csv = "red,green,blue"
let parts = csv.components(separatedBy: ",")
print(parts)                       // ["red", "green", "blue"]

Odwrotnością jest joined(separator:) dla dowolnej wartości typu [String]:

let words = ["swift", "is", "fun"]
let line = words.joined(separator: " ")
print(line)                        // "swift is fun"

Często będziesz je łączyć: dzielić, przekształcać za pomocą map i łączyć ponownie. Wynik działania map na [String] nadal jest typu [String], więc joined działa bezpośrednio.

challenge icon

Wyzwanie

Łatwy

Wczytaj jeden wiersz danych wejściowych: listę słów oddzielonych przecinkami.

Wypisz trzy wiersze:

  1. Liczbę słów po podzieleniu według ,
  2. Słowa ponownie połączone za pomocą > (spacja, znak większości, spacja), zapisane wielkimi literami
  3. Najdłuższe słowo z listy (po podzieleniu). Jeśli dwa słowa są tej samej długości, wybierz to, które występuje jako pierwsze.

Dla danych wejściowych red,green,blue wynikiem jest:

3
RED > GREEN > BLUE
green

Spróbuj swoich sił

let line = readLine()!
let words = line.components(separatedBy: ",")

// TODO: wypisz liczbę słów, słowa połączone separatorem " > " i zapisane wielkimi literami oraz pierwsze najdłuższe słowo
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