I think boxing each line and discarding the unwanted lines is a good
approach here.

For example:
   (#~ *@#@-.&(' ',TAB)@>)cutLF d

That said, I guess you could do something like this:

   require'regex'
   ,d rxfrom~'^.*\S.*$' rxmatches d

Or, equivalently:
   require'regex'
  ,(rxfrom~'^.*\S.*$'&rxmatches) d

I hope this helps,

-- 
Raul

On Mon, Mar 27, 2023 at 12:28 AM More Rice <mrmorer...@gmail.com> wrote:
>
> Hello,
>
> Goal: read from an ascii input text file, skipping all whitespace lines
> (any number of them), and only store text lines in boxes.
>
> For example below, only line 3 and 4 should be stored in boxes (vim
> test.txt, :set nu list):
>
> 1 $
> 2 ^I$
> 3 Line #3. Line #1 is LF, and line #2 is a TAB + LF.$
> 4 Line #4. Below, line 5 is a TAB + LF; line 6 is space<TAB>space.$
> 5 ^I$
> 6  ^I $
> 7 $
>
>
> I looked at the stdlib, but I couldn't find a verb or a combination of them
> to do the job cleanly. I ended up hacking (incorrect logic) like the
> following:
>
> d =. fread < 'test.txt'
> b =. LF splitstring d
> # each b
>
> +-+-+--+--+-+-+-+-+
> |0|1|50|64|1|3|0|0|
> +-+-+--+--+-+-+-+-+
>
> ] lines =. > (3&<) each # each b
>
> 0 0 1 1 0 0 0 0
>
> lines # b
>
>
> Ques is, is there a better (and proper) way?
>
>
> thanks.
> Maurice
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to