您好,我对 Java 很陌生,我有一个问题,
我正在尝试将字符串“22(S)”替换为“22(I)”,但由于某种原因,首先替换不会替换该字符串。
这是我的代码:
public class tes {
public static void main(String[] args) {
int y = 22;
String x = " 22(S)";
x = x.replaceFirst(" " + y + "(S)", " " + y + "(I)");
System.out.println(x);
}
}
虽然我知道我可以执行 x.replaceFirst("S","I") ,但我想了解为什么这仍然用我当前的代码生成 22(S) 。谢谢。
最佳答案
因为(
和)
是正则表达式中的分组运算符。你需要在比赛期间逃脱他们。就像,
x = x.replaceFirst(" " + y + "\\(S\\)", " " + y + "(I)");
我明白了
22(I)
没有其他变化。
关于java - 尝试替换带有括号的字符串内的内容,java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69601030/