Swift Academy · Lektion

Ersätta och dela text

Transformera strängar med regex-operationer.

Lektion 4 av 413 steg

Ersätta och dela text är en gratis lektion i Swift Academy på CoddyKit. Detta är lektion 4 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Swift Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Swift Academy innehåller totalt 4 lektioner.

Ersätta och dela upp

Regex används inte bara för matchning. Swift-strängar kan ersätta matchad text och delas upp enligt ett mönster, så att strängar omvandlas utan manuella loopar.

replacing(_:with:)

replacing(_:with:) returnerar en ny sträng där varje matchning av mönstret byts ut mot ersättningstexten.

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

Ersätta hela ord

Mönstret kan vara vilket reguljärt uttryck som helst, så du kan ersätta alla sekvenser av siffror på en gång med en enda ersättning.

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

Ändra med replace

replace(_:with:) ändrar en var-sträng på plats i stället för att returnera en kopia.

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

Ersätta med en closure

Closure-varianten av replacing(_:with:) tar emot varje matchning och returnerar ersättningen, vilket möjliggör beräknade ersättningar.

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

Använda fångster i ersättningar

Inuti closuren kan du läsa fångstgrupper från matchningen för att bygga ersättningstexten.

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

split(separator:)

Strängar stöder split(separator:) med ett reguljärt uttryck och delar upp strängen överallt där mönstret matchar.

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

Dela upp vid blanksteg

En vanlig uppgift är att dela upp en sträng i ord vid varje sekvens av blanksteg med hjälp av /\s+/.

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

Begränsa uppdelningar

Parametern maxSplits begränsar hur många uppdelningar som görs, så att resten lämnas intakt.

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

Trimma och ersätta

Kombinera operationer: ersätt oönskade mönster och dela sedan upp texten för att rensa och tokenisera indata i en pipeline.

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

replacing jämfört med replacingOccurrences

Regex-varianten replacing arbetar med mönster, medan den äldre replacingOccurrences(of:with:) endast hanterar literala delsträngar. Föredra regex-varianten för mönsterbaserade ändringar.

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

Snabb kontroll

Vad blir resultatet av "a1b2".replacing(/\d/, with: "-")?

Sammanfattning

Du kan ersätta matchningar med replacing(_:with:) (i sträng- eller closure-variant) och med replace på plats, samt dela upp strängar enligt ett reguljärt uttryck med split(separator:) och maxSplits. Tillsammans gör detta regex till en komplett verktygslåda för textomvandling.

Gratis att börja

Lär dig Swift med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
122
Lektioner
409

Vanliga frågor

Är lektionen ”Ersätta och dela text” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Swift Academy, inklusive ”Ersätta och dela text”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Swift Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Ersätta och dela text”?

Transformera strängar med regex-operationer. Ni övar på Swift Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Swift Academy?

Du behöver inga förkunskaper. Utbildningen i Swift Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.

Hur lång tid tar lektionen ”Ersätta och dela text”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Swift Academy-lektionen?

Ja. Varje Swift Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Regex-litteraler och matchning
  2. Fångstgrupper
  3. RegexBuilder-DSL
  4. Ersätta och dela text
← Tillbaka till Swift Academy