射手的博客
学习Delphi,需要一个记录学习的博客,

Trim   去除字符串左右2边的空格
Delphi syntax:

function Trim(const S: string): string; overload;

function Trim(const S: WideString): WideString; overload;

function Trim(const S: string): string;
var
  I, L: Integer;
begin
  L :
= Length(S); //获取字符串长度
  I :
= 1;   //因为需要判断第一个字符是否是空格.
  
while (I <= L) and (S[I] <= ' 'do Inc(I);  //判断第一个字符是否是空格或则小于空格的不可见字符.利用ANSI或UNICode 对比.如果是则I+1 跳过这个字符
  
if I > L then Result := '' else
  begin
    
while S[L] <= ' ' do Dec(L); //判断最后一个字符是否是不可见字符. 直到不为空格后执行下面的语句.
    Result :
= Copy(S, I, L - I + 1); //这里是从I开始(包括I字符),拷贝(L-I+1)个元素.
           {为什么这里是(L-I+1)呢! 因为比如I为5,L为10,10-5= 这里是拷贝5个字符(这里的目的是让第5字符开始拷贝到第10个字符).但实际上第5个字符到第10个字符有6个字符,这里只拷贝了5个.所以要加1}
  end;
end;
posted on 2009-04-12 13:09 Archer 阅读(452) 评论(1)  编辑 收藏 引用 所属分类: Delhi 自带方法和属性
Comments
只有注册用户登录后才能发表评论。