我有一個字符串(比如說)替換特定的字符集從一個字符串中的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