cvecs ← {prim supp} ##.words cvec           ⍝ Source vector split into words.

The character vector argument is split into words.  A word is defined as a sequ-
ence starting with a character from [prim],  the primary alphabet and continuing
with characters from both this and the supplementary alphabet [supp]. If no left
argument is supplied,  prim defaults to A-Z, a-z, Á-õ and supp to 0-9.  A simple
left argument is interpreted as the primary alphabet, with a null supplementary.

Examples:

      disp words 'It''s only words,'                ⍝ Word split at A-Z,a-z,Á-õ.
┌→─┬─┬─┬─┬────┬─┬─────┬─┐ 
│It│'│s│ │only│ │words│,│
└─→┴→┴→┴→┴───→┴→┴────→┴→┘ 

      disp words'4x1+x2'                            ⍝ Trailing 0-9 bind to left.
┌→┬──┬─┬──┐ 
│4│x1│+│x2│
└→┴─→┴→┴─→┘ 

      disp (lcase ⎕a) words'mete and dole'          ⍝ Simple alphabet split.
┌→───┬─┬───┬─┬────┐ 
│mete│ │and│ │dole│
└───→┴→┴──→┴→┴───→┘ 

      disp (lcase ⎕a) words':If ⎕IO=0'              ⍝ Split at a-z.
┌→─┬─┬──────┐ 
│:I│f│ ⎕IO=0│
└─→┴→┴─────→┘ 

      disp (⎕A,lcase ⎕a) words':If ⎕IO=0'           ⍝ Split at A-Z,a-z.
┌→┬──┬──┬──┬──┐ 
│:│If│ ⎕│IO│=0│
└→┴─→┴─→┴─→┴─→┘ 

      disp (':⎕',⎕A,lcase ⎕a) words':If ⎕IO=0'      ⍝ Split at :,⎕,A-Z,a-z.
┌→──┬─┬───┬──┐ 
│:If│ │⎕IO│=0│
└──→┴→┴──→┴─→┘ 

      disp (⎕D,':⎕',⎕A,lcase ⎕a) words':If ⎕IO=0'   ⍝ Split at 0-9,:,⎕,A-Z,a-z.
┌→──┬─┬───┬─┬─┐ 
│:If│ │⎕IO│=│0│
└──→┴→┴──→┴→┴→┘ 

      disp ⎕A (lcase ⎕a) words 'ThatsAllFolks!'     ⍝ Split at A-Z; a-z trail.
┌→────┬───┬─────┬─┐ 
│Thats│All│Folks│!│
└────→┴──→┴────→┴→┘ 

      disp (⍳10) words 1 0 0 2 3 0 4 5 6            ⍝ Numeric "alphabet".
┌→┬───┬───┬─┬─────┐ 
│1│0 0│2 3│0│4 5 6│
└→┴~─→┴~─→┴→┴~───→┘ 

      disp (⍳10) 0 words 1 0 0 2 3 0 4 5 6          ⍝ Numeric;  0s trail.
┌→────┬─────┬─────┐ 
│1 0 0│2 3 0│4 5 6│
└~───→┴~───→┴~───→┘ 

See also: tokens

Back to: contents

Back to: Dyalog APL

Trouble seeing APL font?