更改字符串中的字符(Path)Java

时间:2015-10-15 08:28:36

标签: java string

您好我正在使用java中的程序,我有一个字符串(路径),我想用“/”来改变“\”。

这是我的程序,但我保持相同的路径,没有变化。

package Test;

import javax.swing.JFileChooser;
import javax.swing.filechooser.FileNameExtensionFilter;

public class Filechooser {

    public static void main(String[] args) {

        JFileChooser fc=new JFileChooser();
        fc.setApproveButtonText("Open");
        fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
        fc.addChoosableFileFilter(new FileNameExtensionFilter("text Documents", "txt"));
        fc.setAcceptAllFileFilterUsed(true);
        int returnVal=fc.showSaveDialog(null);
        if (returnVal == JFileChooser.APPROVE_OPTION) {
        String path= fc.getSelectedFile().getAbsolutePath();
        System.out.println(path); 
        String temp = path.replaceAll("\"", "/");
        System.out.println(temp); 
    }

}

4 个答案:

答案 0 :(得分:4)

尝试使用:

String temp = path.replace("\\", "/");

replaceAll(str, str)采用正则表达式,而不是简单的字符/字符串,因此您不能像这样使用replaceAll。

\\表示Java中的\,而\"表示",因此请注意:)

答案 1 :(得分:4)

您的问题在于,您要替换\"而不是\\而且您的字符串中可能根本找不到此\",因此没有任何更改。

更改此行String temp = path.replaceAll("\"", "/");

到这一行String temp = path.replace("\\", "/");它应该有用。

编辑:正如评论中提醒的那样,使用replaceAll不起作用,因为它需要正则表达式。所以你想使用replace()来完成同样的事情而不需要Regex。

答案 2 :(得分:1)

使用replaceAll

str.replaceAll("\\\\", "/");

答案 3 :(得分:-2)

您无法添加" \"字符串到String对象。 但是为了用另一个char替换char,你可以使用这段代码:

 int index = str.indexOf("#");
 String result = str.substring(0,index) + "*" +  str.substring(index+1,str.length());