
//替换一般字符串,默认是区分大小写的
var
reg: TPerlRegEx; //声明正则表达式变量
begin
reg := TPerlRegEx.Create; //建立,D7下貌似不能TPerlRegEx.Create(nil)
if Memo1.Text <> '' then //如果源字符串为空将会出错,所以加判断语句
begin
reg.Subject := Memo1.Text; //这是要替换的源字符串,例如'我爱DELPHI, 但Delphi不爱我!'
reg.RegEx := Edit1.Text; //这是表达式, 在这里是准备替换掉的子串,例如'Delphi'
reg.Replacement := Edit2.Text; //要替换成的新串,例如'◆'
reg.ReplaceAll; //执行全部替换
ShowMessage(reg.Subject); //用消息框显示替换结果: 我爱DELPHI, 但◆不爱我!
Memo1.Text:=reg.Subject; //用memo显示替换结果
end
else
reg.Free; //D7下貌似不能 FreeAndNil(reg)
end;
上图标题错了,应该是不区分大小写
//不区分大小写
var
reg: TPerlRegEx; //声明正则表达式变量
begin
reg := TPerlRegEx.Create; //建立,D7下貌似不能TPerlRegEx.Create(nil)
if Memo1.Text <> '' then //如果源字符串为空将会出错,所以加判断语句
begin
reg.Subject := Memo1.Text; //这是要替换的源字符串,例如'我爱DELPHI, 但Delphi不爱我!'
reg.RegEx := Edit1.Text; //这是表达式, 在这里是准备替换掉的子串,例如'Delphi'
reg.Replacement := Edit2.Text; //要替换成的新串,例如'◆'
reg.Options := [preCaseLess]; //不区分大小的设定, 默认是区分的
reg.ReplaceAll; //执行全部替换
ShowMessage(reg.Subject); //用消息框显示替换结果: 我爱◆, 但◆不爱我!
Memo1.Text:=reg.Subject; //用memo显示替换结果
end
else
reg.Free; //D7下貌似不能 FreeAndNil(reg)
end;

//试试中文替换
var
reg: TPerlRegEx; //声明正则表达式变量
begin
reg := TPerlRegEx.Create; //建立,D7下貌似不能TPerlRegEx.Create(nil)
if Memo1.Text <> '' then //如果源字符串为空将会出错,所以加判断语句
begin
reg.Subject := Memo1.Text; //这是要替换的源字符串,例如'我爱DELPHI, 但Delphi不爱我!'
reg.RegEx := Edit1.Text; //这是表达式, 在这里是准备替换掉的子串,例如'我'
reg.Replacement := Edit2.Text; //要替换成的新串,例如'◆'
reg.ReplaceAll; //执行全部替换
ShowMessage(reg.Subject); //用消息框显示替换结果: ◆爱DELPHI, 但Delphi不爱◆!
Memo1.Text:=reg.Subject; //用memo显示替换结果
end
else
reg.Free; //D7下貌似不能 FreeAndNil(reg)
end;
在做不区分大小写的中文替换测试时,并没有万一老师“如果不区分大小写, 竟然也不区分中文字了”的那种情况,我猜这是因为我是在D7下测试的原故。
浙公网安备 33010602011771号