Suddivisione e unione
Fa parte della sezione Logica e flusso del percorso Swift di Coddy. Lezione 4 di 56.
Due strumenti di uso quotidiano per lavorare con il testo delimitato. Entrambi provengono da Foundation, che è già importato.
components(separatedBy:) suddivide una stringa in un array di elementi String usando il delimitatore che passi:
let csv = "red,green,blue"
let parts = csv.components(separatedBy: ",")
print(parts) // ["red", "green", "blue"]L'inverso è joined(separator:) su qualsiasi [String]:
let words = ["swift", "is", "fun"]
let line = words.joined(separator: " ")
print(line) // "swift is fun"Spesso li combinerai: suddividi, trasforma con map, unisci di nuovo. Il risultato di map su un [String] è ancora un [String], quindi joined funziona direttamente.
Sfida
FacileLeggi una singola riga di input: un elenco di parole separate da virgole.
Stampa tre righe:
- Il numero di parole dopo averle suddivise usando
, - Le parole ricongiunte con
>(spazio, maggiore di, spazio), in maiuscolo - La parola più lunga dell’elenco (dopo la suddivisione). Se due parole sono a pari merito, usa quella che appare per prima.
Per l’input red,green,blue, l’output è:
3
RED > GREEN > BLUE
greenProvalo tu
let line = readLine()!
let words = line.components(separatedBy: ",")
// TODO: print count, joined-uppercased with " > ", first longest word
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Logica e flusso
1Le stringhe in dettaglio
Conteggio e indiciMaiuscole, minuscole e rimozione degli spaziRicerca nelle stringheSuddivisione e unioneSostituzione di sottostringheRiepilogo - Verifica del nome utente4Insiemi
Creare insiemiUnione e intersezioneDifferenza e differenza simmetricaSottoinsieme e sovrainsiemeRiepilogo - Filtro per tag7Progetto - Tracciatore di abitudini
Panoramica del progettoSegna come completato10Progetto - Motore di quiz
Panoramica del progettoPorre domande2Intervalli e passi
Intervalli chiusi e semiapertiPassoMetodi degli intervalliIntervalli in switchRiepilogo - Griglia del calendario5Funzioni di ordine superiore Parte 1
MapFilterReduceConcatenare map, filter e reduceRiepilogo - Statistiche sulle paroleEsercitati da solo: Playground Swift