Last updated 1 year ago
Was this helpful?
Notable Raku innovations that make this different from the equivalent solution:
sub tokenize ($string, :$sep!, :$esc!) { return $string.match(/([ <!before $sep | $esc> . | $esc . ]*)+ % $sep/)\ .[0].map(*.subst: /$esc )> ./, '', :g); } say "'$_'" for tokenize 'one^|uno||three^^^^|four^^^|^cuatro|', sep => '|', esc => '^';
'one|uno' '' 'three^^' 'four^|cuatro' ''