delphi 简单正则替换 问题

首先声明本人菜鸟。最近在学习delphi接触到了正则,问题是如果一下的代码要替换的是文件比如说是a.exe而不是字符串该如何表达呢?谢谢了分不多都拿出来了。。usesPe... 首先声明本人菜鸟。最近在学习delphi接触到了正则,问题是如果一下的代码要替换的是文件比如说是 a.exe 而不是字符串该如何表达呢?谢谢了分不多都拿出来了。。
uses
PerlRegEx; //uses 正则表达式单元

procedure TForm1.FormCreate(Sender: TObject);
var
reg: TPerlRegEx; //声明正则表达式变量
begin
reg := TPerlRegEx.Create(nil); //建立

reg.Subject := 'sSsS'; //这是要替换的源字符串
reg.RegEx := 's'; //这是表达式, 在这里是准备替换掉的子串
reg.Replacement := '◆'; //要替换成的新串
reg.ReplaceAll; //执行全部替换

ShowMessage(reg.Subject); //返回替换结果: ◆S◆S

FreeAndNil(reg); //或 reg.Free
end;
可能是我表达的不清楚。也就是说如何将a.exe 的内容读入内存,再用利正则表达式搜索替换
再写回原文,能实现吗?麻烦大侠给出例子,不胜感激。
展开
 我来答
阳光上的桥
2009-02-20 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65813
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
要把一个文件的所有内容读入内存是可以的,当然对文件的大小有一定的限制,一般的方法是:
定义一个PCHAR类型的变量(实际上是指针);
检测文件大小,申请相同大小的内存;
打开文件,读入所有内容,关闭文件;

大概代码如下:
var p:pchar; l:integer; f:file;
begin
assign(f,'a.exe');
reset(f,1);
l:=filesize(f);
p:=stralloc(l+1);
blockread(f,p,l);
closefile(f);
end;

请一定粘贴代码,里面reset函数后面是数字1,其余表示长度的变量是l,注意。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
溜须拍马关云长
2009-02-18 · TA获得超过1708个赞
知道大有可为答主
回答量:2443
采纳率:0%
帮助的人:0
展开全部
正则表达式只能用于字符串
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
12467966
2009-02-18 · TA获得超过187个赞
知道答主
回答量:220
采纳率:0%
帮助的人:0
展开全部
不好意思,我也是初学,建议你找本书从头到尾学习学习
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mxqcwulei
2009-02-18 · TA获得超过734个赞
知道小有建树答主
回答量:871
采纳率:0%
帮助的人:538万
展开全部
我是初学者啊 帮不了你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式