如何从字符串中提取

javatotheworld 2008-10-24 01:21:51
大家好,遇到个问题: 现在有一串字符,它由小字符串和空格组成,相邻的小字符串之间以一个空格隔开。 例如:245 563 5689 456987 210 2 352
请问我如何把没一个小字符串提取出来? 我要的不是把所有空格去掉的长串()24556356894569872102352), 我要提取每一个小字符串,然后分别处理他们。
知道的大侠,帮忙指点一下。 先谢谢了
...全文
79 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
山东蓝鸟贵薪 2009-12-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 yuqianyi1974 的回复:]
Delphi(Pascal) codevar
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',?-
[/Quote]
十分感谢.................终于找到你了谢谢了
mandarin 2008-10-24
  • 打赏
  • 举报
回复
strs := TStringList.Create;
strs.Delimiter := ' ';
strs.DelimitedText := '245 563 5689 456987 210 2 352' ;
for i := 0 to Strs.Count-1 do
ShowMessage(Strs[i]);
五哥 2008-10-24
  • 打赏
  • 举报
回复
TStringList

TStringList.Delimiter := ' ' ;
TStringList.DelimitedText :='245 563 5689 456987 210 2 352';
TStringList.Strings[0] := '245' ;
TStringList.Strings[1] := '563' ;
.
.
.

五哥 2008-10-24
  • 打赏
  • 举报
回复
TStringList

TStringList.Delimiter := ' ' ;
TStringList.DelimitedText :='245 563 5689 456987 210 2 352';
TStringList.Strings[0] := '245' ;
TStringList.Strings[1] := '563' ;
.
.
.

czx33859066 2008-10-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 yuqianyi1974 的回复:]
Delphi(Pascal) code
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;
[/Quote]
up
fangsp 2008-10-24
  • 打赏
  • 举报
回复
楼上的方法应该是最简单的

str: string;
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', ...
yuqianyi1974 2008-10-24
  • 打赏
  • 举报
回复

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;
Corn1 2008-10-24
  • 打赏
  • 举报
回复

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;

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧