怎样将一行用“|”隔开的字符串放到一个数组中(用“|”隔开的字符串是数组中的每一项)?

yudu 2002-10-21 03:13:58
怎样将一行用“|”隔开的字符串放到一个数组中(用“|”隔开的字符串是数组中的每一项)?能否给出具体的代码?多谢各位了,领导催得很急!
...全文
46 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fongming 2002-12-11
  • 打赏
  • 举报
回复
关注
15665964 2002-10-21
  • 打赏
  • 举报
回复
for i:=0 to ( | count)-1 do
begin
数组:=copy(str,0,pos('|',str)-1)); 句1
Delete(str,1,pos('|',str)); 句2
end;

用 句1 把第一个‘ |‘前的string提取出来 存入你的数组里
用 句2 把第一个‘ |‘和前面提取出来的string从原来的字符串中
删除!(这句是为了下次调用 句1 不会重复)


chechy 2002-10-21
  • 打赏
  • 举报
回复
procedure StrToStrings(S, Sep: string;
const List: TStrings);
var
I, L: Integer;
Left: AnsiString;
begin
Assert(List <> nil);
List.Clear;
L := Length(Sep);
I := Pos(Sep, S);
while (I > 0) do
begin
Left := LeftStr(S, I - 1);
List.Add(Left);
Delete(S, 1, I + L - 1);
I := Pos(Sep, S);
end;
if S <> '' then
List.Add(S);
end;


var
b: TStrings;

b := TStringList.Create;
StrToStrings('a|b|c', '|', b);
windofsun 2002-10-21
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
var
StrList: TStringList;
s: string;
begin
s := 'adf|wefa|aewfawfe|qwefa';
StrList := TStringList.Create;
try
StrList.Delimiter := '|';
StrList.DelimitedText := s;
Memo1.Lines.Assign(StrList); // 验证
finally
FreeAndNil(StrList);
end;
end;

5,388

社区成员

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

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