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--number, -n {int}
: Split into maximum number of items--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 │
╰───┴─────────┴─────────╯
Split into columns, last column may contain the delimiter
> ['author: Salina Yoon' r#'title: Where's Ellie?: A Hide-and-Seek Book'#] | split column --number 2 ': ' key value
╭───┬────────┬──────────────────────────────────────╮
│ # │ key │ value │
├───┼────────┼──────────────────────────────────────┤
│ 0 │ author │ Salina Yoon │
│ 1 │ title │ Where's Ellie?: A Hide-and-Seek Book │
╰───┴────────┴──────────────────────────────────────╯