Zastępowanie i przycinanie
Część sekcji Logika i przepływ programu ścieżki GDScript w Coddy. Lekcja 3 z 78.
replace(what, with) zwraca nowy ciąg znaków, w którym każde wystąpienie what jest zastępowane przez with. Zastąpienie pustym ciągiem usuwa tekst:
var phone := "555-123-4567"
print(phone.replace("-", ""))
print(phone.replace("-", " "))
print(phone)5551234567
555 123 4567
555-123-4567Oryginalny ciąg znaków się nie zmienia. replace() rozróżnia wielkość liter; replacen() robi to samo i nie rozróżnia wielkości liter:
var chat := "Hello hello HELLO"
print(chat.replace("hello", "hi"))
print(chat.replacen("hello", "hi"))Hello hi HELLO
hi hi hiTekst wpisany przez użytkownika często ma dodatkowe spacje na początku i na końcu. strip_edges() usuwa spacje, tabulatory i znaki końca wiersza z obu końców, a te znajdujące się w środku pozostawia:
var typed := " Ana Lee "
print("[" + typed.strip_edges() + "]")[Ana Lee]strip_edges(true, false) usuwa białe znaki tylko z lewej strony, a strip_edges(false, true) tylko z prawej. Aby usunąć określony tekst z końca, użyj trim_prefix() lub trim_suffix(). Nie zmieniają niczego, gdy tego tekstu nie ma:
print("level_03.tscn".trim_suffix(".tscn"))
print("level_03.tscn".trim_suffix(".png"))level_03
level_03.tscnKażda z tych metod zwraca ciąg znaków, więc możesz łączyć je w łańcuch: raw.strip_edges().to_lower().replace(" ", "_").
Wyzwanie
ŁatwyProgram wczytuje tytuł poziomu do title. Zamień go na slug, czyli wersję tytułu, której można użyć jako nazwy pliku, i wypisz ją. W tej kolejności:
- Usuń spacje z obu końców
- Zamień wszystkie litery na małe
- Zamień każdą pozostałą spację na
- - Usuń każdy znak
!,?i.
Dla wejścia Is Godot Fun? (ze spacjami po obu stronach) wynikiem jest:
is-godot-funSpróbuj swoich sił
extends Node
func _ready():
var title := OS.read_string_from_stdin()
# Utwórz slug i go wypisz
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
1Łańcuchy znaków — zagadnienia zaawansowane
Metody łańcuchów znakówWyszukiwanie w łańcuchach znakówZastępowanie i przycinanieDzielenie i łączeniePodsumowanie — sprawdzanie nazwy użytkownika4Słowniki, część 2
Zagnieżdżone słownikiTablice słownikówŁączenie słownikówKopiowanie słownikówPodsumowanie – licznik częstotliwości7Typy wyliczeniowe
Czym jest typ wyliczeniowy?Definiowanie typu wyliczeniowegoWartości typu wyliczeniowegoTypy wyliczeniowe w matchPowtórka – sygnalizacja świetlna10Zaawansowane funkcje
Zwracanie wielu wartościFunkcje lambda — część 1Funkcje lambda — część 2Powtórka — sortowanie za pomocą lambdaFunkcje rekurencyjne — część 1Funkcje rekurencyjne — część 2Powtórka — sumowanie zagnieżdżonej tablicy13System zarządzania zapasami
Omówienie projektuDodawanie produktu2Zaawansowane podejmowanie decyzji
Dopasowanie ze zmiennymiStrażnicy dopasowaniaWzorce tablicWzorce słownikówSprawdzanie przynależnościPowtórka — parser poleceń5Aplikacja książki kontaktów
Wyświetlanie menuDodawanie kontaktu8Menedżer danych studentów
Przegląd projektuDodaj studenta3Tablice wielowymiarowe
Podstawy tablic 2DDostęp do elementów tablic 2DPętle zagnieżdżone z tablicami 2DPodsumowanie — tablice 2DTablice postrzępioneTypowe wzorce tablic 2DPodsumowanie — plansza do gry6Zbiory ze słownikami
Czym jest zbiór?Słownik jako zbiórDodawanie i usuwanieSuma i część wspólnaRóżnica zbiorówPowtórka – usuwanie duplikatów9Zaawansowana agregacja danych
Sumowanie wartościZnajdowanie minimum i maksimumSortowanie niestandardowePodsumowanie – Sortownik słownikówPoćwicz samodzielnie: Kompilator GDScript online