split turns a string into a List<String>. join collapses a list back into one string with a separator.

Program

Play the program to split a CSV and re-join with a dash.

string_split.dart
Replay: real traced execution (multi-file project)
void main() {
  var csv = 'red,green,blue';
  var parts = csv.split(',');
  var joined = parts.join('-');
  print(joined);
}
  1. csv ← red,green,blue

    1void main() {2  var csv = 'red,green,blue';3  var parts = csv.split(',');
    values this stepred,green,bluecsv
  2. parts ← [red, green, blue]

    2var csv = 'red,green,blue';3var parts = csv.split(',');4var joined = parts.join('-');
    values this step[red, green, blue]partsred,green,bluecsv
  3. joined ← red-green-blue

    3var parts = csv.split(',');4var joined = parts.join('-');5print(joined);
    values this stepred-green-bluejoined[red, green, blue]parts
  4. print(joined);

    4  var joined = parts.join('-');5  print(joined);6}
    outputred-green-blue
    values this stepred-green-bluejoined

Follow the Pieces

  1. csv starts as red,green,blue.
  2. split(',') cuts the string at each comma.
  3. parts becomes red, green, and blue.
  4. join('-') puts dashes between the parts.
  5. The program prints red-green-blue. | step | value | | --- | --- | | csv | red,green,blue | | parts | red, green, blue | | joined | red-green-blue |
split `split(',')` cuts on each comma.
join `join('-')` inserts a dash between elements.
round-trip Splitting and rejoining changes the separator.

Exercise: string_split.dart

Reproduce red-green-blue, then trace how split creates red, green, blue and join changes the separator to dashes.