Request addition to the NewLisp Manual: trim

Started by TedWalther, April 23, 2015, 11:33:10 AM

Previous topic - Next topic

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:



(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"
Cavemen in bearskins invaded the ivory towers of Artificial Intelligence.  Nine months later, they left with a baby named newLISP.  The women of the ivory towers wept and wailed.  \"Abomination!\" they cried.

Lutz

#1
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/">http://www.newlisp.org/downloads/develo ... nprogress/">http://www.newlisp.org/downloads/development/inprogress/

TedWalther

#2
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...".
Cavemen in bearskins invaded the ivory towers of Artificial Intelligence.  Nine months later, they left with a baby named newLISP.  The women of the ivory towers wept and wailed.  \"Abomination!\" they cried.

Lutz

#3
There is a comment now: http://www.newlisp.org/downloads/development/inprogress/newlisp_manual.html#trim">http://www.newlisp.org/downloads/develo ... .html#trim">http://www.newlisp.org/downloads/development/inprogress/newlisp_manual.html#trim