newLISP Fan Club

Forum => Whither newLISP? => Topic started by: TedWalther on April 23, 2015, 11:33:10 AM

Title: Request addition to the NewLisp Manual: trim
Post by: TedWalther on April 23, 2015, 11:33:10 AM
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:



(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



(trim " t foo t " "s" 0) => "foo"
Title: Re: Request addition to the NewLisp Manual: trim
Post by: Lutz on April 24, 2015, 12:11:14 PM
In version 10.6.3, the simple trim syntax trims all white-space. But embedded white-space is not affected:

> (trim "  n t  h e l l o r   ")
"h e l l o"
>

http://www.newlisp.org/downloads/development/inprogress/
Title: Re: Request addition to the NewLisp Manual: trim
Post by: TedWalther on April 24, 2015, 06:31:48 PM
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...".
Title: Re: Request addition to the NewLisp Manual: trim
Post by: Lutz on May 16, 2015, 07:24:50 AM
There is a comment now: http://www.newlisp.org/downloads/development/inprogress/newlisp_manual.html#trim