我得到一个字符串= "SUBTOTAL(9,L7:L17)"
我想在给定的字符串中用 2 替换所有 L ,但不应更改 SUBTOTAL 中的 L 或将所有 L 替换为括号内的 2 。
我已经尝试使用Java方法中的replaceAll()
,但是将所有 L 替换为 2
结果"SUBTOTA2(9,27:217)"
是错误的
我想要这样
结果将类似于:"SUBTOTAL(9,27:217)"
答案 0 :(得分:2)
您可以根据第一次出现的(
将字符串分成两个子字符串,然后在第二部分替换字符并重新组合结果:
String string = "SUBTOTAL(9,L7:L17)";
int replaceStartIndex = string.indexOf('(');
System.out.println(string.substring(0, replaceStartIndex)
+ string.substring(replaceStartIndex).replaceAll("L", "2"));
输出SUBTOTAL(9,27:217)