如何在java中用“\\”替换“\”
我试图将字符串分解为数组并用\
替换\
,但是无法做到,我也尝试了String.replaceAll这样的东西("\","\\");
。 我想提供一个JNI路径,它只能以这种方式读取。 请有人帮我这个。 谢谢。
在这种情况下不要使用String.replaceAll
– 这是根据正则表达式指定的,这意味着你需要更多的转义。 这应该没问题:
String escaped = original.replace("\\", "\\\\");
请注意,反斜杠由于使用Java字符串文字而加倍 – 因此这里涉及的实际字符串是“单反斜杠”和“双反斜杠” – 而不是双重和四重。
replace
适用于简单的字符串 – 不涉及正则表达式。
你可以使用replaceAll
:
String escaped = original.replaceAll("\\\\", "\\\\\\\\");
我想提供一个JNI路径,它只能以这种方式读取。
那是不对的。 您只需要在编程语言中声明的文字字符串中使用双反斜杠。 您永远不必在运行时进行此替换。 你需要重新考虑为什么要这样做。