split column for strings

Split a string into multiple columns using a separator.

Signature

> split column {flags} (separator) ...rest

Flags

  • --collapse-empty, -c: remove empty columns
  • --regex, -r: separator is a regular expression

Parameters

  • separator: the character or string that denotes what separates columns
  • ...rest: column names to give the new columns

Input/output types:

input output
list<string> table
string table

Examples

Split a string into columns by the specified separator

> 'a--b--c' | split column '--'
╭───┬─────────┬─────────┬─────────╮
 # │ column1 │ column2 │ column3 │
├───┼─────────┼─────────┼─────────┤
 0  a        b        c       
╰───┴─────────┴─────────┴─────────╯

Split a string into columns of char and remove the empty columns

> 'abc' | split column --collapse-empty ''
╭───┬─────────┬─────────┬─────────╮
 # │ column1 │ column2 │ column3 │
├───┼─────────┼─────────┼─────────┤
 0  a        b        c       
╰───┴─────────┴─────────┴─────────╯

Split a list of strings into a table

> ['a-b' 'c-d'] | split column -
╭───┬─────────┬─────────╮
 # │ column1 │ column2 │
├───┼─────────┼─────────┤
 0  a        b       
 1  c        d       
╰───┴─────────┴─────────╯

Split a list of strings into a table, ignoring padding

> ['a -  b' 'c  -    d'] | split column --regex '\s*-\s*'
╭───┬─────────┬─────────╮
 # │ column1 │ column2 │
├───┼─────────┼─────────┤
 0  a        b       
 1  c        d       
╰───┴─────────┴─────────╯