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 segs
Back to: contents
Back to: Workspaces
Trouble seeing APL font?