含有中文字的字符串怎样处理 2 ( 积分: 50 )

  • 主题发起人 主题发起人 leader47
  • 开始时间 开始时间
L

leader47

Unregistered / Unconfirmed
GUEST, unregistred user!
2KG/条*9条/包*2包+5KG/条*2条+8KG/条
请问怎样将以上字符串生成以下的结果:
2KG/条*9条/包
5KG/条
8KG/条
实现的结果,把它保存成 TStringLst 类型。
 
var
ss: string;
tt: TStringList;
begin
ss := '2KG/条*9条/包*2包+5KG/条*2条+8KG/条';
tt := TStringList.Create;
try
tt.Text := StringReplace(ss, '+', #13#10, [rfReplaceAll, rfIgnoreCase]);
showmessage(tt.Text);
finally
tt.Free;
end;
end;
 
to cxz9:
请看清我要实现的结果。
不要后面的‘*2包’和‘*2条’的 。。。
 
没有规律啊?
 
在cxz9兄弟写的那个基础上稍做修改就OK了
利用copy()和pos 首先用POS取得最后一个*的位置 用下循环就OK了 或者用循环一个一个的对比也不难 反正不是很长的 有了位置 length取总长 难到 还不能COPY出来吗?
 
关键字符串要用 ansistring,
否则可能得到错误的结果.
方法:先将 2KG/条*9条/包*2包+5KG/条*2条+8KG/条 分成
2KG/条*9条/包*2包 和 5KG/条*2条 和 8KG/条,
将每条的 "/&quot
后一个字保留,这个字后面的部分就不要了.
就行了
 
guanrui的方法可以,一个一个循环实现.
mr.hl:'将每条的 "/&quot
后一个字保留,这个字后面的部分就不要了',有问题吧.
还有没有好的方法??
 
多人接受答案了。
 
后退
顶部