我的字符串如下所示,我需要在输出中替换ref的值。
Input String:
<sheet type="xl"><dimension ref="A1:W101"/></sheet>
Output String:
<sheet type="xl"><dimension ref="A1:j202"/></sheet>
我尝试使用(?&lt; = \ b(ref =))。*(?= /&gt;),但它一直匹配到字符串的结尾。
任何人都可以帮助我,我怎样才能使用正则表达式来替换输出字符串之类的ref值。
答案 0 :(得分:1)
您可以这样使用正则表达式:
String str = "<sheet type=\"xl\"><dimension ref=\"A1:W101\"/></sheet>";
String replaceBy = "A1:j202";
str = str.replaceAll("(ref=\")(.*)(\")", "$1" + replaceBy + "$3");
System.out.println(str);
这也有效:
str = str.replaceAll("(?<=\\b(ref=)).*?(?=/>)", "\"" + replaceBy + "\"");