delphi的正则表达式子串替换

uses
PerlRegEx; //uses 正则表达式单元

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

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

/ 如何将整个‘sSsS’替换成‘s’呢?而不是将s替换成◆
/
reg.ReplaceAll; //执行全部替换

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

FreeAndNil(reg); //或 reg.Free
end;
最新回答
k好菇凉

2024-11-24 20:45:37

让字符串不区分大小写就可以了!
uses
PerlRegEx; //uses 正则表达式单元

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

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

//如何将整个‘sSsS’替换成‘s’呢?而不是将s替换成◆

reg.Options := [preCaseLess]; //不区分大小的设定, 默认是区分的
reg.ReplaceAll; //执行全部替换

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

FreeAndNil(reg); //或 reg.Free
end;