Page 1 of 1

Request addition to the NewLisp Manual: trim

PostPosted: Thu Apr 23, 2015 6:33 pm
by TedWalther
Sometimes when I am parsing dirty text, there are tabs mixed with spaces, and even other whitespace characters. So, the "trim" function almost does what I want, but because it is limited to a single character, it doesn't work on such dirty text.

So, I request that in the "trim" section, you add words similar to this:

To trim arbitrary whitespace from the beginning and end of a string, you can do this:

Code: Select all
(set 'str "  \t  Hello World!\t  \t")
(replace "^\s+|\s+$" str "")
=> "Hello World!"


I suggest you add this to the documentation, because as a new user, when I want to "trim" the whitespace from the edges of my strings, the "trim" function is the first place I look. And I imagine this isn't an uncommon case. I actually haven't ever needed to use the trim function in its current form.

Or if you added a "regex" version of trim, with a trailing regex options parameter, then I could do

Code: Select all
(trim " \t foo \t " "\s" 0) => "foo"

Re: Request addition to the NewLisp Manual: trim

PostPosted: Fri Apr 24, 2015 7:11 pm
by Lutz
In version 10.6.3, the simple trim syntax trims all white-space. But embedded white-space is not affected:
Code: Select all
> (trim "  \n \t  h e l l o \r   ")
"h e l l o"
>

http://www.newlisp.org/downloads/develo ... nprogress/

Re: Request addition to the NewLisp Manual: trim

PostPosted: Sat Apr 25, 2015 1:31 am
by TedWalther
Thank you Lutz! No joy on a regex enabled version of trim? :) True, true, we do have (replace) for that. Perhaps a note and a link in the Manual telling people that "for more complex cases, (replace) will do the job...".

Re: Request addition to the NewLisp Manual: trim

PostPosted: Sat May 16, 2015 2:24 pm
by Lutz