用双反斜杠替换反斜杠

use*_*390 8 java string

我想将字符串中的反斜杠更改为双反斜杠.

我有

String path = "C:\Program Files\Text.txt";
Run Code Online (Sandbox Code Playgroud)

我想把它改成

"C:\\Program Files\\Text.txt"
Run Code Online (Sandbox Code Playgroud)

Psh*_*emo 19

replaceAll 正在使用正则表达式,因为你不需要在这里使用正则表达式,只需使用

path = path.replace("\\", "\\\\");
Run Code Online (Sandbox Code Playgroud)

\在字符串文字中很特别.例如,它可以用于

  • 创建特殊字符,如制表符\t,行分隔符\n \r,
  • 或使用符号表示字符\uXXXX(其中X十六进制值,XXXX表示Unicode表中字符的位置).

要逃避它(并创建\角色),我们需要\在它之前添加另一个.
所以表示\字符的字符串文字看起来像"\\".表示两个\字符的字符串"\\\\".


Per*_*ror 9

使用String#replace()

String s= "C:\\Program Files\\Text.text";
System.out.println(s.replace("\\", "\\\\"));
Run Code Online (Sandbox Code Playgroud)

  • @ user2060390你可能正在使用replaceAll.你真的不需要正则表达式解决方案,只需使用需要字符串和替换字符串的replace(). (2认同)
  • `System.out.println(s.replaceAll("\\\\", "\\\\\\\\")); 如果你想使用 `replaceAll`,它会起作用。 (2认同)