一个字符串的问题,在线等

wofan 2004-08-12 10:07:45
我怎样把如下字符串提取出来
st:='jj53*xxddx*dccd*rr3*...';
jj53
xxddx
dccd
rr3
...
...全文
93 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyboyhua 2004-08-12
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
var
st,Str1,Str2:string;
BeginPos,EndPos:integer;
begin
st:='jj53*xxddx*dccd*rr3*...';
Str2:=st;
BeginPos:=1;
While EndPos>1 do
begin
EndPos:=Pos('*',Str2);
Str1:=Copy(Str2,BeginPos,EndPos-BeginPos);
Str2:=Copy(Str2,EndPos+1,Length(Str2)-EndPos);
showmessage(Str1);
end;
end;
hthunter 2004-08-12
  • 打赏
  • 举报
回复
或者这样
var
i: Integer;
begin
with TStringList.Create do
try
Delimiter := '*';
DelimitedText := 'jj53*xxddx*dccd*rr3*ccc';
for i := 0 to (Count - 1) do ShowMessage(Strings[i]);
finally
Free;
end;

end;

kaguo 2004-08-12
  • 打赏
  • 举报
回复
ExtractStrings(['*'],[#20],pchar(st),memo1.Lines);也成
wofan 2004-08-12
  • 打赏
  • 举报
回复
谢 了
hthunter 2004-08-12
  • 打赏
  • 举报
回复
ExtractStrings函数
kaguo 2004-08-12
  • 打赏
  • 举报
回复
memo1.lines就是你要的串
kaguo 2004-08-12
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
var st:string;
begin
st:='jj53*xxddx*dccd*rr3*...';
st:=stringreplace(st,'*',#13,[rfReplaceAll]);
memo1.Lines.CommaText := st;

end;

5,392

社区成员

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

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