您好我正在使用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);
}
}
答案 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)
str.replaceAll("\\\\", "/");
答案 3 :(得分:-2)
您无法添加" \"字符串到String对象。 但是为了用另一个char替换char,你可以使用这段代码:
int index = str.indexOf("#");
String result = str.substring(0,index) + "*" + str.substring(index+1,str.length());