我试着把字符串分解成数组,然后替换成一个数组。\
与 \\
我也试过String.replaceAll这样的方法,但做不到。("\","\\");
. 我想提供一个路径给JNI,但它只以这种方式读取。谁能帮我一下,请。谢谢你的帮助。
不要使用 String.replaceAll
在这种情况下--这是用正则表达式指定的,这意味着你需要更多的转义。这应该没问题。
String escaped = original.replace("\\", "\\\\");
请注意,反斜杠是双倍的,因为是在Java字符串的字面意义上 - 所以 实际 这里涉及的字符串是 "单反斜杠 "和 "双反斜杠",而不是双倍和四倍。
replace
适用于简单的字符串--不涉及regexes。
你可以使用 replaceAll
:
String escaped = original.replaceAll("\\\\", "\\\\\\\\");
我想提供一个JNI的路径,但它只用这种方式读取。
这是不对的。你只需要在编程语言中声明的字面字符串中使用双反斜杠。你永远不需要在运行时进行这种替换。你需要重新思考你为什么要这样做。
处理"\"可能是一个相当大的冒险,因为它在Java中被认为是一个转义字符。你总是需要在String中"\"一个"\"。但是当你想在regex表达式中使用"\"时,乐趣就开始了,因为"\"在regex中也是一个转义字符。所以对于一个"\",你需要在一个regex表达式中使用"\"。
这里是我找到这些信息的链接。https:/www.rgagnon.comjavadetailsjava-0476.html
我必须把''转换为''''。我发现在某处我们可以使用。
filepathtext = filepathtext.replace("\\","\\\\");
下面是我如何实现它的图片。