RosettaCodeData/Task/Tokenize-a-string-with-escaping/J/tokenize-a-string-with-escaping-4.j
2023-07-01 13:44:08 -04:00

4 lines
240 B
Text

charTokens =: (0;(3 2 2$(2 1 1 1 2 2 1 2 1 0 1 0));<<'^')&;: NB. sequential machine
splitTokens =: ((<,'|')&= <;._1 ])@:((<,'|'),])
removeExtra =: (}.^:(1<#)) L:0
tokenize3=: tokenize=: ; each @: (removeExtra @: splitTokens @: charTokens)