字符串分隔符问题

flyfatcat 2006-03-13 09:41:20
一字符串,其中有分隔符,例如:'aaa|123|56565|fgdf',可以很快得到每一个字段值吗?循环方法太慢了。
我看到类似的帖子,有如下方法:
sl : Tstringlist;
sl := Tstringlist.Create;
sl.DelimitedText:='123|23423|354234|234234';
sl.Delimiter:='|';
我试过,当分隔符是','(逗号)时,上面的方法是可以的,但当分隔符是'|'时,方法就不能成功了。请问有没有使用通用分隔符的方法呢?
另外ExtractStrings函数如何使用呢?我看了调用它的参数类型,都不知道如何设置。那位高手能给我个例子呢?
多谢了
...全文
191 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyfatcat 2006-03-13
  • 打赏
  • 举报
回复
cuteant(我这张旧船票还能否登上你的破船|涛声是否依旧),你太利害了,真是让小弟佩服的五体投地,多谢了
cuteant 2006-03-13
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
sl: TStringList;
i: integer;
begin
s := '123|23423|354234|234234';
sl := TStringList.Create;
//ExtractStrings([], ['|'], PChar(s), sl); //这个一样不能以'|'分隔
s := StringReplace(s, '|', #13#10, [rfReplaceAll]);
sl.Text := s;
//.....这样就已经存入sl中了
for i:=0 to sl.Count-1 do
ShowMessage(sl[i]);
FreeAndNil(sl);
end;
cuteant 2006-03-13
  • 打赏
  • 举报
回复
var
s: string;
sl: TStringList;
begin
s := '123|23423|354234|234234';
ExtractStrings([], ['|', PChar(s), sl]);
//.....这样就已经存入sl中了
end;

830

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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