 split(line,array,delimiters='',order='reverse',nulls='return')
    write(*,'(i0," ==&gt; ",a)')(i,trim(array(i)),i=1,size(array))
    write(*,*)'SIZE:',SIZE(array)
end program demo_split
</pre><p>Output </p><pre class="fragment"> &gt; INPUT LINE:[  aBcdef   ghijklmnop qrstuvwxyz  1:|:2     333|333 a B cc    ]
 &gt; ===========================================================================
 &gt;  typical call:
 &gt; 1 ==&gt; aBcdef
 &gt; 2 ==&gt; ghijklmnop
 &gt; 3 ==&gt; qrstuvwxyz
 &gt; 4 ==&gt; 1:|:2
 &