如何在java字符串中用'\\'替换'\'?

时间:2013-05-26 14:05:07

标签: java regex string

您好我想用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 {

        }

2 个答案:

答案 0 :(得分:7)

你很可能没有正确地逃避你的反斜杠:

String newString = oldString.replace("\\", "\\\\");

一个字面反斜杠必须由两个反斜杠字符编码。很高兴它不是你正在处理的正则表达式:

String newString = oldString.replaceAll("\\\\", "\\\\\\\\");

答案 1 :(得分:0)

尝试String newString = originalString.replace("\\", "\\\\");