怎样将字符串中的某几个字符删除?

lihero 2003-01-27 08:43:39
如我想将字符串“1002点78周”中的“点”和“周”去掉,该如何写函数,望高手赐教。
...全文
113 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ehom 2003-01-28
  • 打赏
  • 举报
回复
使用WideString;

var
s: WideString;
begin
s := '1002点78周';
Delete(s, Pos('点', s), 1);
Delete(s, Pos('周', s), 1);
ShowMessage(s);
end;

但这样占用的空间较大

s:=StringReplace(s, '点', '', [rfReplaceAll]);
s:=StringReplace(s, '周', '', [rfReplaceAll]);

也可以,但执行效率比较低,如果不是一次替换很多相同字符就不要用这个
leaya11 2003-01-27
  • 打赏
  • 举报
回复
s:=copy(s,1,length(s)-2)也行
ly_liuyang 2003-01-27
  • 打赏
  • 举报
回复
是呀两个字节,记得不要搞成一个Byte哦
使用StringReplace也可以达到效果
把“点”“周”替换为空''即可
lihero 2003-01-27
  • 打赏
  • 举报
回复
谢谢!我试一试先,一定给分。
feng93017 2003-01-27
  • 打赏
  • 举报
回复
对不起,没有仔细考虑你说的是汉字,它应该是两个字节
所以正确的代码应该是:
var
s: string;
begin
s := '1002点78周';
Delete(s, Pos('点', s), 2); //删除了“点”
Delete(s, Pos('周', s), 2); //删除了“周”
ShowMessage(s); //你可以看看结果。
end;
feng93017 2003-01-27
  • 打赏
  • 举报
回复
var
s: string;

begin
s := '1002点78周';
Delete(s, Pos('点', s), 1); //删除了“点”
Delete(s, Pos('周', s), 1); //删除了“周”
ShowMessage(s); //你可以看看结果。
end;
lihero 2003-01-27
  • 打赏
  • 举报
回复
在线等待。。。。。

5,386

社区成员

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

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