Wielkość liter i usuwanie białych znaków
Część sekcji Logika i przepływ programu ścieżki Swift w Coddy. Lekcja 2 z 56.
Metody zmiany wielkości liter zwracają nowe ciągi znaków — nie modyfikują oryginału. Używaj ich na tekście pochodzącym od użytkownika, zanim go porównasz.
let raw = " Hello World "
print(raw.uppercased()) // " HELLO WORLD "
print(raw.lowercased()) // " hello world "Aby usunąć białe znaki z początku i końca, użyj trimmingCharacters(in:) z Foundation (już zaimportowanego na tej platformie):
let cleaned = raw.trimmingCharacters(in: .whitespaces)
print(cleaned) // "Hello World"
print(cleaned.count) // 11.whitespaces obejmuje spacje i tabulatory. Użyj .whitespacesAndNewlines, gdy dane wejściowe mogą zawierać końcowy znak \n.
Wyzwanie
PoczątkującyWczytaj dwa wiersze danych wejściowych. Potraktuj je jako ciągi znaków do porównania bez rozróżniania wielkości liter i z pominięciem otaczających je białych znaków. Wypisz:
match, gdy oczyszczone wersje zapisane małymi literami są równe, w przeciwnym raziediffer- Oczyszczoną (przyciętą) wersję pierwszego wiersza zapisaną wielkimi literami
Dla danych wejściowych Hello World w pierwszym wierszu i HELLO world w drugim wynikiem jest:
match
HELLO WORLDSpróbuj swoich sił
let a = readLine()!
let b = readLine()!
// TODO: usuń białe znaki z końców i zamień na małe litery przed porównaniem; wypisz match/differ, a następnie a po usunięciu białych znaków z końców i zamianie na wielkie litery
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
1Dogłębnie o ciągach znaków
Liczba i indeksyWielkość liter i usuwanie białych znakówWyszukiwanie w ciągach znakówDzielenie i łączenieZastępowanie podciągówPodsumowanie — sprawdzanie nazwy użytkownika4Zbiory
Tworzenie zbiorówSuma i część wspólnaRóżnica i różnica symetrycznaPodzbiór i nadzbiórPowtórka — filtr tagów7Projekt – Śledzenie nawyków
Przegląd projektuOznacz jako wykonane10Projekt — silnik quizów
Przegląd projektuZadawanie pytań2Zakresy i kroki
Zakresy domknięte i półotwarteKrokMetody zakresówZakresy w instrukcji switchPowtórka — siatka kalendarza5Funkcje wyższego rzędu, część 1
MapFilterReduceŁączenie map, filter i reducePodsumowanie – statystyki słówPoćwicz samodzielnie: Edytor online Swift