Sostituzione di sottostringhe
Fa parte della sezione Logica e flusso del percorso Swift di Coddy. Lezione 5 di 56.
replacingOccurrences(of:with:) restituisce una nuova stringa in cui ogni corrispondenza di una sottostringa è sostituita da un'altra:
let phone = "555-123-4567"
let digits = phone.replacingOccurrences(of: "-", with: "")
print(digits) // "5551234567"Come i metodi per le maiuscole e le minuscole, restituisce una nuova String; l’originale rimane invariato. Puoi concatenare le chiamate quando devi rimuovere diversi schemi:
let messy = " 555-123 4567 "
let clean = messy
.replacingOccurrences(of: "-", with: "")
.replacingOccurrences(of: " ", with: "")
print(clean) // "5551234567"Due sostituzioni significano due passaggi sulla stringa. Per il codice in cui le prestazioni sono importanti e che lavora su stringhe enormi, preferisci un unico passaggio con filter sui caratteri; per il lavoro quotidiano, le sostituzioni concatenate vanno bene e sono chiare da leggere.
Sfida
PrincipianteLeggi una singola riga di input. Trattala come una frase e produci uno slug adatto a un URL:
- Converti l’input in minuscolo
- Sostituisci ogni spazio con un
- - Rimuovi ogni carattere
!,?e.
Stampa lo slug risultante.
Per l’input Hello World!, l’output è hello-world. Per Is Swift Fun?, l’output è is-swift-fun.
Provalo tu
let line = readLine()!
// TODO: convertire in minuscolo, sostituire gli spazi con trattini, eliminare i caratteri ! ? .
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