replaceAll轉換內容內都不能包含$符號???我不要轉義


String newBody="abcdef".replaceAll("d","h$h");

這段代碼會報錯
轉換內容內不能包含$號
必須轉意成\\$嗎?
能不能不轉義

我是轉換內容內包含$號不是轉換條件.

8 个解决方案

#1


但就這段代碼來說,必須轉義。

#2


String newBody="abcdef".replaceAll("d","h\\$h");
這樣不行嗎?

#3


String newBody="abcdef".replaceAll("d","h\$h");
單"\"

#4


up

#5


不行的

#6


是需要轉義

#7


http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html

對不起上面說錯了
應該是雙斜線轉義 "\\"
string的replaceAll用到了regex包里的功能
regex里面 $ 代表 The end of a line 所以必須escape掉

java.lang.String
public String replaceAll(String regex,
                        String replacement)
Replaces each substring of this string that matches the given regular expression with the given replacement.
An invocation of this method of the form str.replaceAll(regex, repl) yields exactly the same result as the expression
java.util.regex.Pattern.compile(regex).matcher(str).replaceAll(repl)

#8


\\后面的單個字符不轉義
\\Q \\E之間的所有字符都不轉義

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com