我在字符串中有一个 java 变量的名称。我想用字母 x 替换它。我该如何做这个java,并确保字符串中的其他单词没有被替换?
例如,假设我的变量是res
,我的字符串是 " res = res + pres + resd + _res
。我希望字符串变成x = x + pres + resd + _res
。
您可以使用单词边界仅捕获整个单词:
String s = "res = res + pres + resd + _res";
String var = "res";
System.out.println(s.replaceAll("\\b" + var + "\\b", "x"));
输出x = x + pres + resd + _res
您可以使用\b
元字符来匹配单词边界。(请记住,您需要使用双反斜杠在 Java 中转义。)
因此,您可以执行以下操作:
final String searchVar = "res";
final String replacement = "x";
final String in = "res = res + pres + resd + _res";
final String result = in.replaceAll("\\b" + searchVar + "\\b", replacement);
System.out.println(result);
// prints "x = x + pres + resd + _res"