我在字符串中有一个java变量的名称。我想用字母x替换它。我怎么能做这个java,并确保字符串中的其他单词不被替换?
例如,假设我的变量为res
,我的字符串为“res = res + pres + resd + _res
。我希望字符串变为x = x + pres + resd + _res
。
答案 0 :(得分:1)
您可以使用单词边界仅捕获整个单词:
String s = "res = res + pres + resd + _res";
String var = "res";
System.out.println(s.replaceAll("\\b" + var + "\\b", "x"));
输出x = x + pres + resd + _res
答案 1 :(得分:0)
您可以使用\b
元字符来匹配单词边界。 (请记住,你需要使用doule反斜杠来解决这个问题。)
所以你可以做以下的事情:
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"