2

我在字符串中有一个 java 变量的名称。我想用字母 x 替换它。我该如何做这个java,并确保字符串中的其他单词没有被替换?

例如,假设我的变量是res,我的字符串是 " res = res + pres + resd + _res。我希望字符串变成x = x + pres + resd + _res

4

2 回答 2

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

于 2013-05-30T11:19:29.313 回答
0

您可以使用\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"
于 2013-05-30T11:21:52.327 回答