我有一个类似“C:\Program Files\Directory\Something.txt
”的字符串,我想将其转换为“C:\\Program Files\\Directory\\Something.txt
”所以基本上添加\
,找到\
。是使用indexOf
来解决这个问题的最好方法,然后将字符串分解为sutrings然后重新连接,还是有更好的方法在Java中执行此操作?
答案 0 :(得分:2)
String s = "C:/Program Files/Directory/Something.txt";
String s2 = s.replaceAll("/", "//");
// => "C://Program Files//Directory//Something.txt"
<强> [编辑] 强>
如果字符串有反斜杠,那么它会变得非常有趣,因为这是正则表达式转义字符。这应该有效:
String s = "C:\\Program Files\\Directory\\Something.txt";
s.replaceAll("\\\\", "\\\\\\\\");
// => "C:\\\\Program Files\\\\Directory\\\\Something.txt"
请注意,正则表达式中有四个反斜杠(顺序为两对以获得两个字面反斜杠),然后是替换字符串中的八个反斜杠,因为反斜杠也是文字字符串的转义字符。
答案 1 :(得分:1)
您可以使用File.separator属性使其更具跨平台性:
String input = "C:/Program Files/Directory/Something.txt";
String result = input.replaceAll(File.separator, File.separator + File.separator);
答案 2 :(得分:0)
您可以使用String.replaceAll
。
答案 3 :(得分:0)
String str = "C:/Program Files/Directory/Something.txt";
str = str.replaceAll("/","//");
答案 4 :(得分:0)
String s = "C:/Program Files/Directory/Something.txt";
s = s.replace("/", "//");
这将使用/
//