Sostituzione e trim
Fa parte della sezione Logica e flusso del percorso GDScript di Coddy. Lezione 3 di 78.
replace(what, with) restituisce una nuova stringa in cui ogni occorrenza di what viene sostituita con with. Sostituire con una stringa vuota rimuove il testo:
var phone := "555-123-4567"
print(phone.replace("-", ""))
print(phone.replace("-", " "))
print(phone)5551234567
555 123 4567
555-123-4567La stringa originale non cambia. replace() distingue tra maiuscole e minuscole; replacen() svolge lo stesso compito e non distingue tra maiuscole e minuscole:
var chat := "Hello hello HELLO"
print(chat.replace("hello", "hi"))
print(chat.replacen("hello", "hi"))Hello hi HELLO
hi hi hiIl testo digitato da un utente spesso ha spazi aggiuntivi intorno. strip_edges() rimuove gli spazi, le tabulazioni e le interruzioni di riga da entrambe le estremità e mantiene quelli al centro:
var typed := " Ana Lee "
print("[" + typed.strip_edges() + "]")[Ana Lee]strip_edges(true, false) rimuove gli spazi solo all'estremità sinistra e strip_edges(false, true) solo all'estremità destra. Per rimuovere un testo specifico da un'estremità, usa trim_prefix() o trim_suffix(). Non modificano nulla quando il testo non è presente:
print("level_03.tscn".trim_suffix(".tscn"))
print("level_03.tscn".trim_suffix(".png"))level_03
level_03.tscnCiascuno di questi metodi restituisce una stringa, quindi puoi concatenarli: raw.strip_edges().to_lower().replace(" ", "_").
Sfida
FacileIl programma legge un titolo di livello in title. Trasformalo in uno slug, una versione del titolo che può essere usata come nome di file, e stampalo. In quest’ordine:
- Rimuovi gli spazi a entrambe le estremità
- Converti il testo in minuscolo
- Sostituisci ogni spazio rimanente con
- - Rimuovi ogni
!,?e.
Per l’input Is Godot Fun? (con spazi intorno), l’output è:
is-godot-funProvalo tu
extends Node
func _ready():
var title := OS.read_string_from_stdin()
# Crea lo slug e stampalo
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Logica e flusso
1Stringhe in dettaglio
Metodi delle stringheRicerca nelle stringheSostituzione e trimDividere e unireRipasso - verifica del nome utente4Dizionari - Parte 2
Dizionari annidatiArray di dizionariUnire dizionariCopiare dizionariRiepilogo - Contatore di frequenza7Enumerazioni
Che cos'è un'enumerazione?Definire un'enumerazioneValori dell'enumerazioneEnumerazioni in MatchRiepilogo - Semaforo10Funzioni avanzate
Restituire più valoriFunzioni lambda - Parte 1Funzioni lambda - Parte 2Ripasso - Ordinamento con lambdaFunzioni ricorsive - Parte 1Funzioni ricorsive - Parte 2Ripasso - Somma di un array annidato13Sistema di gestione dell'inventario
Panoramica del progettoAggiungere un articolo2Decisioni avanzate
Match con variabiliGuardie di matchPattern per arrayPattern per dizionariVerifiche di appartenenzaRiepilogo - Parser di comandi5Applicazione Rubrica
Visualizzare il menuAggiungere un contatto8Gestione dei registri degli studenti
Panoramica del progettoAggiungi studente11Funzioni di ordine superiore
Il metodo mapIl metodo filterIl metodo reduceany e allRipasso - Validatore di emailRipasso - Elaboratore di numeri3Array multidimensionali
Fondamenti degli array 2DAccedere agli elementi di un array 2DCicli annidati con array 2DRipasso - Array 2DArray frastagliatiSchemi comuni con gli array 2DRipasso - Tabellone di gioco6Insiemi con i dizionari
Che cos'è un insieme?Il dizionario come insiemeAggiungere e rimuovereUnione e intersezioneDifferenza tra insiemiRiepilogo - Rimuovere i duplicati9Aggregazione avanzata dei dati
Somma dei valoriTrovare minimo e massimoOrdinamento personalizzatoRiepilogo - Ordinatore di dizionariEsercitati da solo: Compilatore GDScript online