Ersätta och dela text
Transformera strängar med regex-operationer.
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.
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
- Regex-litteraler och matchning
- Fångstgrupper
- RegexBuilder-DSL
- Ersätta och dela text