Individuare schemi nel testo
Fa parte della sezione Logica e flusso del percorso Kotlin di Coddy. Lezione 48 di 63.
Una Regex descrive un modello di testo. [A-Z] corrisponde a una lettera maiuscola ASCII, [0-9] corrisponde a una cifra, {2} richiede esattamente due ripetizioni e + ne richiede una o più. matches controlla l'intero input; una sottostringa corrispondente da sola non è sufficiente.
All'interno di main:
val code = Regex("[A-Z]{2}[0-9]{3}")
println(code.matches("AB123"))L'intero input contiene esattamente due lettere maiuscole seguite da tre cifre.
Regex.matches richiede che l’intero input soddisfi il pattern.
Sfida
MedioCompleta validCode con il parametro text: String. Restituisci se il testo è composto esattamente da tre lettere ASCII maiuscole seguite esattamente da due cifre ASCII, senza spazi o altri caratteri. Usa Regex.matches.
A meno che sopra non siano indicati limiti più restrittivi, le raccolte contengono al massimo 100 elementi a ogni livello e gli argomenti interi e i valori interi delle raccolte sono compresi tra -1000 e 1000. Il testo fornito per l'analisi può includere rappresentazioni non valide o fuori intervallo, come descritto.
Restituisci un valore di tipo Boolean. Mantieni il codice di input/output fornito. Legge gli argomenti scalari uno per riga; un elenco inizia con il suo conteggio seguito dai suoi elementi, mentre una mappa inizia con il conteggio delle sue voci seguito da ciascuna chiave e valore. Gli elenchi annidati ripetono il formato conteggio-ed-elementi per ogni riga. Il main fornito stampa il valore restituito seguito da un carattere di nuova riga. Gli elenchi usano il formato standard tra parentesi quadre di Kotlin; non stampare etichette aggiuntive.
Provalo tu
fun validCode(text: String): Boolean {
// Scrivi qui la tua soluzione.
return false
}
fun main() {
val text = readLine().orEmpty()
println(validCode(text))
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Logica e flusso
1Mappe Parte 1
Creare mappeConsultare le mappe in modo sicuroAggiornare le mappeControllare le chiaviRiepilogo - Banco di borsa4Collezioni annidate
Liste di listeAttraversare le righeRiepiloghi delle righeAppiattire liste annidateRipasso - File di posti a sedere7Pipeline di collezioni
Trasformare con MapFiltrare i valoriVerificare le regole della collezioneAccumulare con FoldRiepilogo - Totali approvati10Elaborazione del testo
Suddividere e unireCreare testo in modo efficienteIndividuare schemi nel testoTrovare e sostituireRiepilogo - Codice più pulito2Mappe Parte 2
Iterare sulle voci delle mappeChiavi e valoriMappe di frequenzaMappe annidateRiepilogo - Report delle frequenze5Progetto - Rubrica
Salva contattiTrova contatti3Insiemi e appartenenza
Creare insiemiAggiornare gli insiemiOperazioni sugli insiemiVerificare i sottoinsiemiRiepilogo - Ospiti dell'evento6Valori delle funzioni
Scrivere funzioni lambdaTipi di funzionePassare funzioniVariabili catturateRiepilogo - Punteggio configurabileEsercitati da solo: Playground Kotlin