Ricerca nelle stringhe
Fa parte della sezione Logica e flusso del percorso GDScript di Coddy. Lezione 2 di 78.
L'operatore in ti dice se un testo compare in una stringa. Quando hai bisogno di qualcosa di più di un semplice sì o no, le stringhe hanno metodi di ricerca:
contains(text)restituiscetruese il testo compare ovunque, comeinbegins_with(text)eends_with(text)controllano solo l'inizio o la finefind(text)restituisce l'indice in cui il testo compare per la prima volta, oppure-1se non comparerfind(text)restituisce l'indice dell'ultima occorrenzacount(text)restituisce quante volte compare il testo
var email := "alice@coddy.tech"
print(email.begins_with("alice"))
print(email.ends_with(".tech"))
print(email.find("@"))
print(email.find("x"))
print(email.count("c"))true
true
5
-1
3find() accetta un secondo argomento facoltativo: l'indice da cui inizia la ricerca. Usalo per trovare la successiva occorrenza dopo averne già trovata una:
var text := "one fish, two fish"
var first := text.find("fish")
print(first)
print(text.find("fish", first + 1))4
14Questi metodi distinguono tra maiuscole e minuscole: "Hello".contains("hello") è false. Converti prima la stringa con to_lower(), oppure usa le versioni che ignorano le maiuscole e minuscole: findn(), containsn() e countn().
Sfida
FacileIl programma legge un indirizzo email in email. Verifica che soddisfi tutte queste regole:
- Contiene esattamente un
@ - Non inizia con
@ - Non contiene spazi
- Termina con
.com,.orgo.tech, in qualsiasi combinazione di maiuscole e minuscole
Stampa valid quando tutte le regole sono soddisfatte, altrimenti invalid. Per l'input alice@CODDY.TECH, l'output è:
validProvalo tu
extends Node
func _ready():
var email := OS.read_string_from_stdin()
# Stampa valido o non valido
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