RosettaCodeData/Task/Tokenize-a-string-with-escaping/J/tokenize-a-string-with-escaping-4.j

5 lines
240 B
Text
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
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)