我想把输入的一个字符串(路径)变成java识别的路径,比如输入“c:\Java\test”转化为:“c:\\Java\\test”,但是在输入字符串的过程中系统以为我要输入的是转义字符,所以报错,这个时候我怎么办呢?public class Check
{ public static void main(String[] args)
{
String testStr="c:\Java ";
for(int i=0;i<testStr.length();i++)
{
System.out.println(testStr.charAt(i));
}
}}
报错:转义序列无效(有效\b \t \n...)。
{ public static void main(String[] args)
{
String testStr="c:\Java ";
for(int i=0;i<testStr.length();i++)
{
System.out.println(testStr.charAt(i));
}
}}
报错:转义序列无效(有效\b \t \n...)。
{ public static void main(String[] args)
{
String testStr="c:\\Java ";
for(int i=0;i<testStr.length();i++)
{
System.out.println(testStr.charAt(i));
}
}}
两个\\
c:\Java\test可以写成
c:\\Java\\test 也可以是
c:/Java/test不就不是转义了
String testStr="c:\Java ";//就必须这么写String testStr="c:\\Java ";
根据你所说的,既然是输入的话,那就不应该自己去定义一个字符串,而是通过输入来构成一个字符串,这里你输入"c:\Java",然后获取输入的串进行处理就可以了
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String testStr = br.readLine();
testStr = testStr.replaceAll("\\\\","\\\\\\\\");//这样就把\换成\\这个了
楼上举的
testStr = testStr.replaceAll("\\\\","\\\\\\\\");
这个列子是一个相当经典的列子 最好楼上的再给楼主讲一下为什么要那么写 ^_^
在java 正则表达式中,"\\"表示一个正则表达式的反斜杆,而我们也知道在一般java程序中要表示一个反斜杆要用"\\",所以在正则表达式中的反斜杆就变成4根反斜杆了("\\\\")
{ public static void main(String[] args)
{
System.out.println("\\");
}
}