0Pricing
Swift Academy · Lezione

Sostituzione e suddivisione del testo

Trasformi le stringhe usando operazioni regex.

Sostituzione e suddivisione del testo è una lezione Swift Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Swift Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Swift Academy include 4 lezioni in totale.

Sostituire e suddividere

Le regex non servono solo a cercare corrispondenze. Le stringhe Swift possono sostituire il testo corrispondente e suddividersi in base a un pattern, trasformando le stringhe senza cicli manuali.

replacing(_:with:)

replacing(_:with:) restituisce una nuova stringa in cui ogni corrispondenza del pattern viene sostituita dal testo indicato.

let s = "a1b2c3"
let cleaned = s.replacing(/\d/, with: "*")
print(cleaned)

Sostituire parole intere

Il pattern può essere una regex qualsiasi, quindi è possibile sostituire in una sola volta tutte le sequenze di cifre con una singola sostituzione.

let s = "order 1234 done"
let masked = s.replacing(/\d+/, with: "#")
print(masked)

Modificare con replace

replace(_:with:) modifica direttamente una stringa var invece di restituirne una copia.

var text = "hello world"
text.replace(/o/, with: "0")
print(text)

Sostituire con una closure

La variante di replacing(_:with:) che usa una closure riceve ogni corrispondenza e restituisce la sostituzione, consentendo sostituzioni calcolate.

let s = "a1 b2 c3"
let result = s.replacing(/\d+/) { match in
    String((Int(match.0) ?? 0) * 10)
}
print(result)

Usare le catture nella sostituzione

All'interno della closure è possibile leggere i gruppi di cattura della corrispondenza per costruire il testo sostitutivo.

let s = "2024-05"
let out = s.replacing(/(\d+)-(\d+)/) { m in
    "\(m.2)/\(m.1)"
}
print(out)

split(separator:)

Le stringhe supportano split(separator:) con una regex, suddividendo la stringa nei punti in cui il pattern corrisponde.

let csv = "a,b;c,d"
let parts = csv.split(separator: /[,;]/)
print(parts)

Suddividere in corrispondenza degli spazi bianchi

Un'attività comune consiste nel suddividere una stringa in parole in corrispondenza di qualsiasi sequenza di spazi bianchi usando /\s+/.

let line = "the   quick  brown"
let words = line.split(separator: /\s+/)
print(words.count)
print(words)

Limitare le suddivisioni

Il parametro maxSplits limita il numero di suddivisioni, lasciando intatto il testo rimanente.

let s = "a-b-c-d"
let parts = s.split(separator: /-/, maxSplits: 1)
print(parts)

Rimuovere spazi e sostituire

Combini le operazioni: sostituisca i pattern indesiderati, quindi suddivida il testo per pulire e tokenizzare l'input in una pipeline.

let raw = "  one,, two ,,three "
let cleaned = raw.replacing(/,+/, with: ",")
let items = cleaned.split(separator: ",").map { $0.trimmingCharacters(in: .whitespaces) }
print(items)

replacing rispetto a replacingOccurrences

replacing per le regex opera sui pattern; il metodo precedente replacingOccurrences(of:with:) gestisce solo le sottostringhe letterali. Preferisca la variante regex per le modifiche basate su pattern.

let s = "cat hat bat"
print(s.replacing(/[ch]at/, with: "X"))

Verifica rapida

Che cosa produce "a1b2".replacing(/\d/, with: "-")?

Riepilogo

È possibile sostituire le corrispondenze con replacing(_:with:) (nella variante con stringa o closure) e con replace per la modifica diretta, nonché suddividere le stringhe in base a una regex con split(separator:) e maxSplits. In questo modo le regex diventano un toolkit completo per la trasformazione del testo.

Domande Frequenti

La lezione «Sostituzione e suddivisione del testo» è gratuita?

Sì — il testo completo di «Sostituzione e suddivisione del testo» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Swift Academy, passa a CoddyKit PRO. Il corso Swift Academy include 4 lezioni in totale.

Cosa imparerò in «Sostituzione e suddivisione del testo»?

Trasformi le stringhe usando operazioni regex. Eserciti Swift Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Swift Academy?

Non è richiesta alcuna esperienza precedente. Swift Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Sostituzione e suddivisione del testo»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Swift Academy?

Sì. Ogni lezione Swift Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Letterali regex e pattern matching
  2. Gruppi di cattura
  3. DSL RegexBuilder
  4. Sostituzione e suddivisione del testo
← Torna a Swift Academy