2011-12-02 173 views
1

我有一个带有"\\"字符的java字符串(用于转义的额外'\')。我想将"\\"的所有发生更换为"\"。任何想法如何完成? str.replaceAll("\\", "\")不起作用。问题在于替换\字符。替换Java字符串中的''字符

+0

是你的字符串'my \ string'还是'my \\ string'。你想替换一两个斜线吗? –

+0

“my \ string”在java中无效。它绝对是“我的\ \弦”。 – Anand

+0

我不是在谈论java字符串。如果在java中你有String x =“my \\ string”,那么实际的逻辑字符串是“my \ string”,对吧? –

回答

3
str.replaceAll("\\\\", "\") 

“\” 是指\的\原因是转义符号

HEH,即使计算器解析器转换\ \(没有空格)的单\ :-))

1

Java documentation:

注意的是,在更换 字符串反斜杠(\)和美元符号($)可能导致的结果是不同的比如果它被 视为文字替换字符串;请参阅Matcher.replaceAll。如果需要,可使用 Matcher.quoteReplacement(java.lang.String)来抑制这些字符的特殊含义 。

+0

哦,讽刺...在你的答案中解决了逃跑的问题! – sehe

+0

@sehe谢谢,我什至没有看到那些:)) –