Suddividere e unire
Fa parte della sezione Logica e flusso del percorso Kotlin di Coddy. Lezione 46 di 63.
trim rimuove gli spazi bianchi iniziali e finali. split suddivide il testo in parti usando un delimitatore, mentre joinToString combina le parti usando un separatore scelto. Queste operazioni ti permettono di normalizzare input semplici delimitati. Qui il delimitatore è testo letterale, non un'espressione regolare.
All'interno di main:
val parts = " red, blue ,green ".trim().split(",").map { it.trim() }
println(parts.joinToString(" | "))La virgola divide i campi, trim ripulisce ogni campo e il separatore finale viene inserito tra i campi.
Rimuovi gli spazi dai singoli campi dopo averli suddivisi, quando è necessario eliminare gli spazi che li circondano.
Sfida
MedioCompleta cleanFields con il parametro text: String. Dividi il testo in corrispondenza delle virgole letterali, rimuovi gli spazi da ciascun campo ed elimina i campi vuoti. Restituisci i campi rimanenti nell'ordine di input.
A meno che sopra non siano specificati 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 List<String>. Mantieni il codice di input/output fornito. Legge gli argomenti scalari uno per riga; una lista inizia con il numero dei suoi elementi, seguito dagli elementi, mentre una mappa inizia con il numero di voci, seguito da ciascuna chiave e dal relativo valore. Le liste annidate ripetono il formato numero-elementi per ogni riga. Il main fornito stampa il valore restituito seguito da un carattere di nuova riga. Le liste usano il formato standard di Kotlin tra parentesi quadre; non stampare etichette aggiuntive.
Provalo tu
fun cleanFields(text: String): List<String> {
// Scrivi qui la tua soluzione.
return emptyList()
}
fun main() {
val text = readLine().orEmpty()
println(cleanFields(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