我有一个字符串(比如说)替换特定的字符集从一个字符串中的java
int t=5;
我想和一些其他字符串来替换上面的字符串标识符't'
说。使用java中String的方法replaceAll()
或replace()
也可以替换int中的char't'。所以我得到的输出是
"inabc abc=5;"
我想只替换标识符。请帮助我。谢谢。
我有一个字符串(比如说)替换特定的字符集从一个字符串中的java
int t=5;
我想和一些其他字符串来替换上面的字符串标识符't'
说。使用java中String的方法replaceAll()
或replace()
也可以替换int中的char't'。所以我得到的输出是
"inabc abc=5;"
我想只替换标识符。请帮助我。谢谢。
我认为这将与工作
yourString.replace(" t", " abc");
您需要使用这个词的锚(\b
),如:
s = s.replaceAll("\\bt\\b", "abc");
一个正则表达式没有一个字的概念!
但是,这只会带给你至今;这个正则表达式可能会在一些更复杂的构造上失败。如果你想要更复杂的替换,你真的想使用解析器;例如,煮熟的。
使用下面的正则表达式替换变量的所有事件,假设前名后不能有任何的字一样的特性:
String s = "int t=5";
String s2 = s.replaceAll("(?<!\\w)t(?!\\w)", "abc");
确定要更换什么。你想替换“锡”中的“t”吗? “+ T +”? “$ T $”? “字母”? “泰坦”?如果整个字符串只是“t”呢? Java没有用于解析Java源代码的内置库,所以如果你想解析Java源代码,你需要做很多工作(或者为它找到一个库)。 – immibis
如果您正在尝试构建可让您重命名变量的工具,那么您不必这样做。只需使用Eclipse之类的IDE,标记要替换的变量(或者将光标设置为它)并选择'Refactor' - >'Rename..'。 – Pshemo
如果您不想使用IDE功能,那么您需要创建自己的Java解析器。正则表达式不是最好的工具。如果变量的名称与某些类相同,比如'String String =“foo”;'? – Pshemo