Java 字符串替换输入的路径:"\&引用;至/&引用;
考虑以下代码:Java 字符串替换输入的路径:"\&引用;至/&引用;,java,jakarta-ee,Java,Jakarta Ee,考虑以下代码: class Sample{ public static void main(String args[]){ String text1="C:\Documents\User\sample"; String text2=text1.replace('\','/'); System.out.println(text2); } } 我有一个输入,其中text1接收一个文件路径。现在我想将text1中的所有“\”替换为“/”。我已经使用了上面的
class Sample{
public static void main(String args[]){
String text1="C:\Documents\User\sample";
String text2=text1.replace('\','/');
System.out.println(text2);
}
}
我有一个输入,其中text1接收一个文件路径。现在我想将text1中的所有“\”替换为“/”。我已经使用了上面的代码
首先,显示的错误是:“非法转义序列”,这是可以理解的,不是我的问题,因为我正在制作一个JavaEE应用程序,其中用户在输入框中输入路径
但是我很难将“\”改为“/”,这对我的代码正常运行至关重要。我无法解决这个问题。我甚至尝试过使用String.replaceAll()方法,但没有结果。您需要转义反斜杠:
String text2=aa.replace('\\','/');
顺便说一句,replaceAll()
会使您的问题更加复杂:现在您处理的是正则表达式而不是简单的字符串替换,这意味着您的反斜杠需要在正则表达式引擎中再次转义:
String text2=aa.replaceAll("\\\\", "/");
\
是java字符串中的转义字符,您需要通过执行\
来转义它,这将防止它转义它旁边的'
,并解决您的错误。
这将使您的代码行变成:
String text2 = text1.replace('\\', '/');
是如何正常使用此字符的一个很好的示例
从外观上看,您最好也执行以下操作:
String text1="C:\\Documents\\User\\sample";
而不是在初始化字符串后进行替换。replaceAll(string regex,string replacement)用于字符串,而您的用于CharSequences。您可以尝试(“\\”,“/”)吗?关于错误指定的路径,这一点非常好!当前的一个可能会工作,但是
“C:\Documents\User\new”
会非常失败。@Serdalis:谢谢。但我的情况是,我正在创建一个网页,其中用户以上述格式(c:\documents\user\sample)输入路径。@Rishu:当用户输入路径时,反斜杠将自动加倍。因此,serdalis或我的解决方案将正常工作。