SilkPerformer does not come with string trim functions. There are few suggestions as how one can write such functions. Here are my versions:
- // -------------------------------------------------------------------------
- Function CSCStrLTrim(
- psStr : string
- ) : string
- var
- sTarget : string;
- sTrimmed : string;
- nLen : number;
- begin
- if StrRegexImmediate(psStr, "^[ \t\n\r\f]+", "", sTarget) then
- nLen := Strlen(sTarget);
- if nLen > 0 then
- CSCStrLTrim := Substr(psStr, sTrimmed, nLen + 1, Strlen(psStr) - nLen)
- else
- CSCStrLTrim := psStr
- end;
- else
- CSCStrLTrim := psStr
- end;
- end CSCStrLTrim; // -------------------------------------------------------------------------
- Function CSCStrRTrim(
- psStr : string
- ) : string
- var
- sTarget : string;
- sTrimmed : string;
- nLen : number;
- begin
- if StrRegexImmediate(psStr, "[ \t\n\r\f]+$", "", sTarget) then
- nLen := Strlen(sTarget);
- if nLen > 0 then
- CSCStrRTrim := Substr(psStr, sTrimmed, 1, Strlen(psStr) - nLen)
- else
- CSCStrRTrim := psStr
- end;
- else
- CSCStrRTrim := psStr
- end;
- end CSCStrRTrim;
The functions use the regular expression parser.
No comments:
Post a Comment