在java中用""替换"\"

Zak*_*man 6 java regex string

我的问题很简单:

如何用""取代"\ " ???

我试过这个:

str.replaceAll("\\", "");
Run Code Online (Sandbox Code Playgroud)

但我得到例外

08-04 01:14:50.146: I/LOG(7091): java.util.regex.PatternSyntaxException: Syntax error U_REGEX_BAD_ESCAPE_SEQUENCE near index 1:
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 23

如果你使用replaceAll(这需要一个正则表达式)这个更简单- 只需使用replace(它采用一个普通的字符串).除非您确实需要正则表达式,否则请勿使用正则表达式表单.它只是让事情变得更复杂.

不要忘记只是调用 replacereplaceAll没有意义,因为字符串是不可变的 - 你需要使用返回结果:

String replaced = str.replace("\\", "");
Run Code Online (Sandbox Code Playgroud)


MBy*_*ByD 11

\\\之后的字符串转义,这也是正则表达式尝试转义字符

String newStr = str.replaceAll("\\\\", "");
Run Code Online (Sandbox Code Playgroud)

(别忘了分配结果)

此外,如果您使用某些字符串作为预期正则表达式的输入,则使用更安全的IMO Pattern#quote:

String newStr = str.replaceAll(Pattern.quote("\\"), "");
Run Code Online (Sandbox Code Playgroud)


M. *_*bas 10

你应该试试这个:

str.replaceAll("\\\\", "");
Run Code Online (Sandbox Code Playgroud)

\在正则表达式来进行转义=>你应该写\\,每个\都有用Java逃脱=>这就是为什么我们有4\

  • 虽然我认为你是对的,但你也应该解释为什么. (4认同)