Iterare sulle stringhe P2
Fa parte della sezione Fondamenti del percorso Swift di Coddy. Lezione 72 di 86.
Proprio come abbiamo usato enumerated() con gli array per ottenere sia l'indice che l'elemento, possiamo fare lo stesso con le stringhe. È utile quando devi conoscere la posizione di ogni carattere durante l'iterazione.
let word = "Swift"
for (index, char) in word.enumerated() {
print("\(index): \(char)")
}
// 0: S
// 1: w
// 2: i
// 3: f
// 4: tQuesta tecnica è utile quando si creano nuove stringhe in base alle posizioni dei caratteri. Per esempio, potresti voler mantenere solo i caratteri agli indici pari:
let text = "abcdef"
var result = ""
for (index, char) in text.enumerated() {
if index % 2 == 0 {
result += String(char)
}
}
print(result) // aceNota che convertiamo char in una String usando String(char) prima di aggiungerlo. Questo è necessario perché result è una String e non puoi aggiungere direttamente un Character usando l'operatore +=.
Sfida
FacileScrivi una funzione extractOddIndexChars che accetta text e restituisce una nuova stringa contenente solo i caratteri agli indici dispari.
Usa enumerated() per scorrere la stringa e creare un risultato contenente i caratteri il cui indice è dispari (1, 3, 5, ecc.).
Parametri:
text(String): La stringa di input da elaborare
Restituisce: Una stringa contenente solo i caratteri agli indici dispari (String)
Esempio: Se text è "abcdefg", la funzione dovrebbe restituire "bdf" (i caratteri agli indici 1, 3 e 5).
Provalo tu
func extractOddIndexChars(text: String) -> String {
// Scrivi il codice qui
}
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori – Parte 1
Operatori aritmeticiOperatore moduloAssegnazione compostaRiepilogo - Matematica sempliceOperatori di confronto7I/O di base
Funzione printInterpolazione di stringheInput con ReadLineConversione di tipoRipasso - Fino a 120Ripasso - Vero o falso10Funzioni
Dichiarare una funzioneParametri e argomentiValori restituitiEtichette degli argomentiRiepilogo - Funzione SigmaRiepilogo - Funzione di validazioneValori predefiniti13Iterare sulle sequenze
Iterare sugli elementiIl metodo enumerateIterare sulle stringhe P1Iterare sulle stringhe P22Variabili
Let vs VarAnnotazioni di tipoNumeriStringaBooleanoConvenzioni di denominazioneRiepilogo - Inizializzare le variabili5Operatori Parte 2
Operatori logici Parte 1Operatori logici Parte 2Riepilogo - Logica sempliceOperatori logici Parte 3Operatore ternario8Calcolatore per dividere il conto
Messaggio di benvenutoAcquisire i dati11FizzBuzz con una variante
Panoramica del giocoLa funzione FizzBuzz3Valori opzionali
Cosa sono i valori opzionaliEstrazione del valore con if letGuard letOperatore di coalescenza nilRiepilogo - Estrazione sicura del valore6Decisioni
Istruzione ifIf - ElseRipasso - Calcolatrice sempliceIstruzione switchSwitch con intervalli9Cicli
Ciclo for-inCiclo whileCiclo repeat-whileBreakContinueRipasso - FattorialeIntervalli nei cicliCiclo annidatoRipasso - Input dinamicoEsercitati da solo: Playground Swift