回 帖 发 新 帖 刷新版面

主题:关于去除字符串中的空格?

有这么一个字符串:str="a   b       c         d     e"   
  其中每个字符之间的空格数目是未知的,我想用split()把这个字符串里的字母都分离出来,用data()接收,即data(0)="a"   data(1)="b"   data(2)="c"   data(3)="d"   data(4)="e",不能接收字符串里的空格。   请问怎样实现?   谢谢回复!   

回复列表 (共6个回复)

沙发

你可以用trim(变量)去掉空格再提取字符

板凳

Str := StringReplace(Str, ' ', '', [rfReplaceAll]);

3 楼

使用循环遍历字符串的每个字符,取出来与' '比较,相等的话跳过,不等的话,输出到数组的某个元素。

4 楼

function SplitStr(const S: String; pData: PChar): Integer;
var
  I, X: Integer;
begin
  Result:= 0;
  for I:= 1 to Length(S) do begin
    if S[I] <> ' ' then begin
      pData^:= S[I];
      Inc(Result);
      Inc(pData);
    end;
  end;
end;

5 楼

小弟不才,刚学DELPHI 
请问四楼
代码中的 INC(RESULT);
         INC(PDate);
有什么用。

6 楼

INC(X)是对 X 加一的操作(X是有序类型)
在DELPHI中,指针是可以被看作是整数的,因此对PCHAR类型INC,结果是让指针后挪一字节

我来回复

您尚未登录,请登录后再回复。点此登录或注册