Files and Text Streams
Split Fields
Split one record into named fields.
split-fields
Delimited text stores several fields in one line.
Split Fields
SplitFields.kt
Replay: real traced execution (multi-file project)
fun main() {
val row = "Ada,42,active"
val fields = row.split(",")
val name = fields[0]
val score = fields[1].toInt()
val state = fields[2]
println("name=$name")
println("score=$score")
println("state=$state")
}
fun main() {
val row = "Bo,7,paused"
val fields = row.split(",")
val name = fields[0]
val score = fields[1].toInt()
val state = fields[2]
println("name=$name")
println("score=$score")
println("state=$state")
}
fun main() {
val row = "Cy,12,active"
val fields = row.split(",")
val name = fields[0]
val score = fields[1].toInt()
val state = fields[2]
println("name=$name")
println("score=$score")
println("state=$state")
}
row ← Ada,42,active, fields ← [Ada, 42, active], name ← Ada, score ← 42
1fun main() {2 val row→ Ada,42,active = "Ada,42,active" //@row="Bo,7,paused", "Cy,12,active"3 val fields→ [Ada, 42, active] = rowAda,42,active.split(",")4 val name→ Ada = fields[0]Ada5 val score→ 42 = fields[1]42.toInt()6 val state→ active = fields[2]active78 println("name=$nameAda")9 println("score=$score42")10 println("state=$stateactive")11}outputname=Ada score=42 state=active
row ← Bo,7,paused, fields ← [Bo, 7, paused], name ← Bo, score ← 7
1fun main() {2 val row→ Bo,7,paused = "Bo,7,paused"3 val fields→ [Bo, 7, paused] = rowBo,7,paused.split(",")4 val name→ Bo = fields[0]Bo5 val score→ 7 = fields[1]7.toInt()6 val state→ paused = fields[2]paused78 println("name=$nameBo")9 println("score=$score7")10 println("state=$statepaused")11}outputname=Bo score=7 state=paused
row ← Cy,12,active, fields ← [Cy, 12, active], name ← Cy, score ← 12
1fun main() {2 val row→ Cy,12,active = "Cy,12,active"3 val fields→ [Cy, 12, active] = rowCy,12,active.split(",")4 val name→ Cy = fields[0]Cy5 val score→ 12 = fields[1]12.toInt()6 val state→ active = fields[2]active78 println("name=$nameCy")9 println("score=$score12")10 println("state=$stateactive")11}outputname=Cy score=12 state=active