我試過內置方法String#replaceAll()從我的String內容中替換所有「$」。但它不起作用。
String ss = "HELLO_$_JAVA";
System.out.println(ss.indexOf("$"));
System.out.println(ss);
ss = ss.replaceAll("$", "");
System.out.println(ss);// 'HELLO__JAVA' is expected
OUTPUT:
6
HELLO_$_JAVA
HELLO_$_JAVA
預期輸出:
6
HELLO_$_JAVA
HELLO__JAVA
編輯: 雖然Java regular expressions and dollar sign涵蓋了答案,但是還是我的問題可能是誰正面臨着同樣的人有幫助使用時的問題String#replaceAll()。 和 Difference between String replace() and replaceAll()也可能有幫助。這個問題的
兩個可能的解決方案是
ss = ss.replace("$", "");
OR
ss = ss.replaceAll("\\$", "");
爲什麼'HELLO _ $ _ JAVA'是預期的輸出? '_'從哪裏來? –
我發現''HELLO $ JAVA''字符串被打印爲'HELLO _ $ _ JAVA' – Shark
,就像前面的評論暗示的一樣,你的代碼與你所顯示的輸出不匹配。這不是它的工作方式。 – eis