您好我想用Java中的字符串中的双反斜杠字符\
替换反斜杠字符\\
但是replace()方法似乎不起作用。它给出了参数不匹配错误。我认为它不适用于特殊字符。有没有可以解决这个问题?
这是我的代码段:
String fileSeparator = System.getProperty("file.separator");
JFileChooser chooser = new JFileChooser();
chooser.setCurrentDirectory(new java.io.File("."));
chooser.setDialogTitle("Locate Java Documentation Folder");
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
chooser.setAcceptAllFileFilterUsed(false);
if (chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
JTextField jtfFileLocation=new JTextField();
jtfFileLocation.setText(chooser.getSelectedFile().getPath()+fileSeparator);
String filePath=jtfFileLocation.getText();
filePath.replaceAll("\\", "\\\\");
System.out.println(filePath);
} else {
}
答案 0 :(得分:7)
你很可能没有正确地逃避你的反斜杠:
String newString = oldString.replace("\\", "\\\\");
一个字面反斜杠必须由两个反斜杠字符编码。很高兴它不是你正在处理的正则表达式:
String newString = oldString.replaceAll("\\\\", "\\\\\\\\");
答案 1 :(得分:0)
尝试String newString = originalString.replace("\\", "\\\\");