这段时间在做项目的时候遇到要替换一堆字符串中的一个文件路径,其他内容保持不变,最开始是使用的用标点符号去分割字符串,找到对应的语句,对该语句直接进行替换,在这其中需要循环去处理这个事情。所以这并不是一个很好的方法,后面经过高人指点(实在是自己有点水,很少接触正则表达式),这种替换也能够使用正则替换。上代码:
LODOP.ADD_PRINT_SETUP_BKIMG(\"<img border=0 src='XXXX'>\"); //需要将其中的文件路径XXXX替换掉的字符串
可以使用如下方式进行替换,可以精准找到只要是
LODOP.ADD_PRINT_SETUP_BKIMG(\"<img border=0 src='XXXX'>\");
这种格式的文字都可以被替换掉。(一定要在前面和后面加上关键字,不然可能会替换掉其他有文件路径的)
Regex.Replace(TempletScript, "LODOP\\.ADD_PRINT_SETUP_BKIMG\\(\"<img border=0 src=['|\"]([^\"]+)['|\"]>\"\\);", "LODOP.ADD_PRINT_SETUP_BKIMG(\"<img border=0 src='" + ImgUrl + "'>\");", RegexOptions.IgnoreCase);