我有一个这样的文件路径
\\ptrisf02\group\Corrolog\Other\Newfolder\SecurityTest\EV10222-01\FinalPack\REP WI\3101384589-(PN-5A1662).pdf
我想将 \\
替换为 \\\\
,将 \
替换为 \\
。我为此编写了这段代码
String r_Docpath=Docpath.replace('\\', '\\\\');
但它给出了无效的字符常量错误。我怎样才能正确地做到这一点?
我像这样的代码解决了问题;
String r_Docpath=Docpath.replace("\"", "\\\"");
String r2_Docpath=r_Docpath.replace("\\", "\\\\\"");
最佳答案
在Java中'
用于创建char
文字,它只能表示一个字符(char
是类型它保存 16 位,并且 JVM 使用 UTF-16 编码,因此它只能存储一个字符 - 如果是通过 surrogate-pairs 创建的字符,甚至可以存储一半)。因此,当您编写 '\\\\'
时,就像编写 'ab'
一样,正如您所看到的,它试图将两个字符放入单个 char
中> 字面量,这会导致编译器提示。
为了将零个或多个字符分组到一个结构中,我们使用字符串类型。您可以使用 "
而不是 '
创建字符串文字。
所以你所追求的似乎是
String r_Docpath = Docpath.replace("\\", "\\\\");
<小时/>
顺便说一句,在 Java 中您不应该以大写开头命名变量,因此不要使用 Docpath
,而是使用 docpath
甚至 docPath
。像 Docpath
或 DocPath
这样的样式,其中第一个字符是大写的,是为类、接口(interface)、枚举(例如 String
) List
TimeUnit
等
关于java - java中的字符替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57822999/