Trevor DeVore wrote:

This will strip leading and trailing whitespace from a multiline string. But given that you say that word 1 to -1 is that much faster I am going to switch to that. Those of us still trying to break away from our previous languages like to complicate things on occasion ;)

Is there a way to do ltrim (trim whitespace on left of string) in plain transcript? Right now I just use:

function str_lTrim pString
    get replaceText(pString, "^[ \t\r\n]+", "")
    return it
end str_lTrim


function str_lTrim pString
if word 1 of pString is empty then return empty -- deal with case of all whitespace
return char (offset(word 1 of pString, pString)) to -1 of pString
end pString


The timings are fairly data dependent, but this is about 20% faster for most cases, and not slower for any I found.

If you know you aren't dealing with all-whitespace strings, you can remove that test line, and get another 10% improvement.

You can take any of those and improve by another 5% by passing the parameter by reference; avoids a data copy, and since you don't modify it, there's no downside.

BUT - in all those cases, the overhead of the function call is far more significant than the actual operation, so you can get another 50% saving by doing the replaceText (or chunk test) in-line rather than as a function. You may prefer to use the function anyway for the sake of code that is easier to read - but if you have one or two crucial spots, it may be worth in-lining the operation..

--
Alex Tweedly       http://www.tweedly.net



--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.9.7 - Release Date: 12/04/2005

_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to