我有一个字符串(比如说)
int t=5;
我想将上面字符串中的标识符't'
替换为其他字符串"abc"
。在java中使用String的replaceAll()
或replace()
方法也会替换int中的char't。所以我得到的输出是
"inabc abc=5;"
我想只替换标识符。请帮帮我。谢谢。
答案 0 :(得分:5)
您需要使用单词anchor(\b
),如下所示:
s = s.replaceAll("\\bt\\b", "abc");
正则表达式没有任何概念!
但是,这只会带给你这么远;这个正则表达式可能会在一些更复杂的结构上失败。如果你想要更复杂的替换,你真的想要使用解析器;例如,已经煮熟了。
答案 1 :(得分:1)
我认为这会奏效 -
yourString.replace(" t", " abc");
答案 2 :(得分:0)
使用以下正则表达式替换所有出现的变量,假设名称之前和之后不能有任何类似字的字符:
String s = "int t=5";
String s2 = s.replaceAll("(?<!\\w)t(?!\\w)", "abc");
答案 3 :(得分:-1)
我认为你可以改变&#34; t =&#34;到&#34; abc =&#34;。
str.replace("t=", "abc=");