大家好,遇到个问题: 现在有一串字符,它由小字符串和空格组成,相邻的小字符串之间以一个空格隔开。 例如:245 563 5689 456987 210 2 352
请问我如何把没一个小字符串提取出来? 我要的不是把所有空格去掉的长串()24556356894569872102352), 我要提取每一个小字符串,然后分别处理他们。
知道的大侠,帮忙指点一下。 先谢谢了
请问我如何把没一个小字符串提取出来? 我要的不是把所有空格去掉的长串()24556356894569872102352), 我要提取每一个小字符串,然后分别处理他们。
知道的大侠,帮忙指点一下。 先谢谢了
uses StrUtils;var
str: string;
Strs: TStringList;
begin
str := '245 563 5689 456987 210 2 352';
Strs := TStringList.Create;
Strs.Text := AnsiReplaceStr(str, ' ', #10);
//Strs[0]='245', Strs[1]='563', ...
end;
var
str: string;
Sl: TStringList;
begin
str := '245 563 5689 456987 210 2 352';
sl := TStringList.Create;
sl.CommaText:=str;
showmessage(sl[0]);//sl[0]='245', sl[1]='563', ...
sl.Free;
end;
Strs: TStringList;
i ,iPos: Integer;
begin
str := '245 563 5689 456987 210 2 352';
Strs := TStringList.Create;
for i := 0 to Length(str)-1 do
begin
iPos := Pos(str,' ');
if iPos > 0 then
begin
Strs.add(Copy(str,1,iPos-1));
Delete(str,1,iPos) ;
if Length(str) > 0 and (iPos <= 0) then
begin
Strs.add(str);
Break;
end;
end;
end;
end;
//Strs[0]='245', Strs[1]='563', ...
TStringList.DelimitedText :='245 563 5689 456987 210 2 352';
TStringList.Strings[0] := '245' ;
TStringList.Strings[1] := '563' ;
.
.
.
TStringList.DelimitedText :='245 563 5689 456987 210 2 352';
TStringList.Strings[0] := '245' ;
TStringList.Strings[1] := '563' ;
.
.
.
strs.Delimiter := ' ';
strs.DelimitedText := '245 563 5689 456987 210 2 352' ;
for i := 0 to Strs.Count-1 do
ShowMessage(Strs[i]);