急 字符串提取及替换。

HelpMeNow 2010-05-31 05:47:32
在一串字符内,把[]中的内容替换成其他内容。
如:
打印日期:[打印日期] 收银员:[收银员]

上面这串字符,要想把[打印日期]换成系统日期,[收银员]替换成:张三


有可能有若干个[]


...全文
92 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovelymelon 2010-06-03
  • 打赏
  • 举报
回复
如果要做成通用的,首先你要建立一个数据字典之类的东西,例如:

原内容:[打印日期] 替换内容:当前日期

原内容:[收银员] 替换内容:当前登录收银员

然后搜索给定内容中是否有与“原内容”相同的部分,如果有,用替换内容替换
HelpMeNow 2010-06-01
  • 打赏
  • 举报
回复
谁帮我写个通用的。
djmdjmdjm 2010-06-01
  • 打赏
  • 举报
回复
利用pos函数找到你需要查找的位置,然后用string中一些字符操作函数来进行更换,例如delete,要不你自己重新组合字符。
白耗子 2010-06-01
  • 打赏
  • 举报
回复
很多方法啊
Pos
StringReplace
正则表达式
都行 看你擅长那个了
taste品味 2010-06-01
  • 打赏
  • 举报
回复
可以自己写一个通用的啊
zen_z 2010-05-31
  • 打赏
  • 举报
回复
用字符串分割函数,可以实现...ExtractStrings
yktd26 2010-05-31
  • 打赏
  • 举报
回复
var
before, after : string;

begin
before := '打印日期:[打印日期] 收银员:[收银员]';

after := StringReplace(before, '[打印日期]', DateTimeToStr(now),
[rfReplaceAll, rfIgnoreCase]);
after := StringReplace(after, '[收银员]', '张三',
[rfReplaceAll, rfIgnoreCase]);
ShowMessage('Before = '+before);
ShowMessage('After = '+after);
end;
HelpMeNow 2010-05-31
  • 打赏
  • 举报
回复
没有人帮我吗

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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