unit strip; interface uses Sysutils; // return the part on the left of the first occurance of 'delim' // or the whole string if there is no 'delim' function left(s : string; delim : char) : string; // return the part on the right of the first occurance 'delim' // or the whole string if there is no 'delim' function right(s : string; delim : char) : string; // return the part on the left of the last occurance of 'delim' // or the whole string if there is no 'delim' function leftr(s : string; delim : char) : string; // return the part on the right of the last occurance 'delim' // or the whole string if there is no 'delim' function rightr(s : string; delim : char) : string; function CharsInStr(s:string;what:char):integer; implementation function left(s : string; delim : char) : string; var i : integer; begin i := pos(delim, s); if (i > 0) then Result := Copy(s, 1, i - 1) else Result := s; end; function right(s : string; delim : char) : string; var i : integer; begin i := pos(delim, s); if (i > 0) then Result := Copy(s, i + 1, length(s)) else Result := s; end; function leftr(s : string; delim : char) : string; var i : integer; begin i := LastDelimiter(delim, s); if (i > 0) then Result := Copy(s, 1, i - 1) else Result := s; end; function rightr(s : string; delim : char) : string; var i : integer; begin i := LastDelimiter(delim, s); if (i > 0) then Result := Copy(s, i + 1, length(s)) else Result := s; end; function CharsInStr; var a,b:integer; begin b:=0; for a:=1 to length(s) do if s[a]=what then inc(b,1); CharsInStr:=b; end; end.