a:='123456[7]890';
b:='1[2345]67890';请问StringReplace可不可以将[]之间包括[]的字符去掉?
b:='1[2345]67890';请问StringReplace可不可以将[]之间包括[]的字符去掉?
解决方案 »
- DELPHI版权问题(美国英巴卡迪诺科技有限公司北京代表处)
- IT技术交流 QQ群10206167 欢迎加入 可以讨论各类的IT技术问题。
- DBgrid显示问题
- delphi如何建立站点
- 怎么在Open对话框中添加预览功能?
- 帮我测试一下软件(进销存)
- 各位快帮帮我!!! 马上给分!
- 老大们:使用下载的控件,是控件包的话直接在Delphi中打开相应的dpk文件,点击Install按钮即可,小弟笨,找不到所谓的“Install按钮”,还
- 雙擊Listview的某列,如何判斷Mouse雙擊在listview的哪一列?
- 急!急!急!!!如何控制连续打印的两页报表的行次不同?
- 后天考试,今天爬上来放点分,不够明天加
- 为什么我的程序在关闭的确认对话框里,按确定没反应,反而按取消关闭?
StartIndex,EndIndex:Integer;
ReplaceStr,DestStr,ResultStr:string;
begin
DestStr:= '1[2345]67890';
Edit1.Text:=DestStr;
StartIndex:=pos('[',DestStr);
EndIndex:=pos(']',DestStr);
ReplaceStr:=copy(DestStr,StartIndex,EndIndex-StartIndex+1);
Edit2.Text:=ReplaceStr;
Edit3.Text:=StringReplace(DestStr,ReplaceStr,'',[rfReplaceAll]);
end;
参考如下代码:
uses ComObj;procedure TForm1.Button1Click(Sender: TObject);
var
vRegExp: OleVariant;
begin
vRegExp := CreateOleObject('VBScript.RegExp'); // 创建正值对象
vRegExp.Pattern := '\[.*?\]'; // 样板表达式
vRegExp.Global := True;
ShowMessage(vRegExp.Replace('123[456]789ab[cd]ef', '')); //123789abef
vRegExp := NULL;
end;