⍝ Blank Removal:

      show←{' ·'subs ⍵}             ⍝ show '·'s for blanks.

      cvec←'  twas  ever  thus  '

      show cvec                     ⍝ character vector.
··twas··ever··thus··

      show dlb cvec                 ⍝ drop leading blanks.
twas··ever··thus··

      show dtb cvec                 ⍝ drop trailing blanks.
··twas··ever··thus

      show deb cvec                 ⍝ drop ending blanks.
twas··ever··thus

      show dmb cvec                 ⍝ drop multiple blanks.
·twas·ever·thus·

      show dxb cvec                 ⍝ drop extraneous blanks.
twas·ever·thus

      show dab cvec                 ⍝ drop all blanks.
twaseverthus

      mix←{⎕ml←0 ⋄ ↑⍵}

      cmtr←mix cvec'  heart with  clay  '

      show cmtr                     ⍝ character matrix.
··twas··ever··thus··
··heart·with··clay··

      show dlb cmtr                 ⍝ drop leading blank columns.
twas··ever··thus··
heart·with··clay··

      show deb cmtr                 ⍝ drop ending blank columns.
twas··ever··thus
heart·with··clay

      show dxb cmtr                 ⍝ drop extraneous blank columns.
twas··ever·thus
heart·with·clay

      show¨ dxb↓cmtr                ⍝ drop extraneous blanks in depth 2 array.
┌──────────────┬───────────────┐
│twas·ever·thus│heart·with·clay│
└──────────────┴───────────────┘

      show mix dxb↓cmtr             ⍝ drop extraneous blanks from each row.
twas·ever·thus·
heart·with·clay

      's'dmb'Mississippi'           ⍝ drop multiple 's's.
Misisippi

      'sp'dmb'Mississippi'          ⍝ ... and 'p's.
Misisipi

      'is'dxb'Mississippi'          ⍝ drop extra 'i's and 's's.
Mipp

      1 dmb 8 1 1 1 2 5             ⍝ drop multiple 1s.
8 1 2 5

      ''≡dmb''                      ⍝ test null case (Hager).
1

⍝∇ subs dlb dtb deb dmb dxb dab

Back to: code

Back to: Workspaces