从java中的字符串替换特定的字符集

时间:2014-03-31 09:28:07

标签: java

我有一个字符串(比如说)

int t=5; 

我想将上面字符串中的标识符't'替换为其他字符串"abc"。在java中使用String的replaceAll()replace()方法也会替换int中的char't。所以我得到的输出是

"inabc abc=5;"

我想只替换标识符。请帮帮我。谢谢。

4 个答案:

答案 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=");