那个函数可以按指定的符号删分一个字符串?

hansonboy 2003-08-29 09:37:40
如我想把
'aaa,bbb,ccc'删分为
'aaa'
'bbb'
'ccc'
...全文
31 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zousoft 2003-08-30
  • 打赏
  • 举报
回复
s := 'aaa,bbb,ccc';

a := copy(s, 0, pos(',', s)-1); // Output 'aaa'

s := StringReplace(s, 'aaa,', '', []); // Output 'bbb'
b := copy(s, 0, pos(',', s)-1);

c := StringReplace(s, 'bbb,', '', []); // Output 'ccc'
baguli 2003-08-29
  • 打赏
  • 举报
回复
对不住,上述代码会吃掉最后一组字符串,修改为:
在最后一个end前加上一句List.Add(pStart);
另外,没有进行差错控制,请自己加上
baguli 2003-08-29
  • 打赏
  • 举报
回复
自己写一个拆分函数吧,将拆分好的存如一TStrings对象中
procedure StringToStrings(const Text: string; List: TStrings); //假设拆分符号为','
var pStart, pEnd: PChar;
AStr: String;
nLen: Integer;
begin
pStart := PChar(Text);
pEnd := StrPos(pStart, ',');
while Assigned(pEnd) and (StrLen(pStart) <> 0) do
begin
nLen := pEnd - pStart;
SetLength(AStr, nLen);
StrLCopy(PChar(AStr), pStart, nLen);
List.Add(AStr);
pStart := pEnd;
Inc(pStart);
pEnd := StrPos(pStart, ',');
end;
end;
大地精灵 2003-08-29
  • 打赏
  • 举报
回复
你是要分成三个好象没有,替代指定的字符到是有,stringreplace
你就自己写函数吧

5,388

社区成员

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

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