Monday, May 9, 2016

SilkPerformer: String Trim Functions

SilkPerformer does not come with string trim functions. There are few suggestions as how one can write such functions. Here are my versions:

  1.   // -------------------------------------------------------------------------  
  2.   Function CSCStrLTrim(  
  3.     psStr : string  
  4.   ) : string  
  5.   var  
  6.     sTarget  : string;  
  7.     sTrimmed : string;  
  8.     nLen     : number;  
  9.   begin  
  10.     if StrRegexImmediate(psStr, "^[ \t\n\r\f]+""", sTarget) then  
  11.       nLen := Strlen(sTarget);  
  12.       if nLen > 0 then  
  13.         CSCStrLTrim := Substr(psStr, sTrimmed, nLen + 1, Strlen(psStr) - nLen)  
  14.       else  
  15.         CSCStrLTrim := psStr  
  16.       end;  
  17.     else  
  18.       CSCStrLTrim := psStr  
  19.     end;  
  20.   end CSCStrLTrim;  // -------------------------------------------------------------------------  
  21.   Function CSCStrRTrim(  
  22.     psStr : string  
  23.   ) : string  
  24.   var  
  25.     sTarget  : string;  
  26.     sTrimmed : string;  
  27.     nLen     : number;  
  28.   begin  
  29.     if StrRegexImmediate(psStr, "[ \t\n\r\f]+$""", sTarget) then  
  30.       nLen := Strlen(sTarget);  
  31.       if nLen > 0 then  
  32.         CSCStrRTrim := Substr(psStr, sTrimmed, 1, Strlen(psStr) - nLen)  
  33.       else  
  34.         CSCStrRTrim := psStr  
  35.       end;  
  36.     else  
  37.       CSCStrRTrim := psStr  
  38.     end;  
  39.   end CSCStrRTrim;  

The functions use the regular expression parser.

No comments:

Post a Comment