日期:2014-05-20  浏览次数:20985 次

如何打印符号"\"
我想把输入的一个字符串(路径)变成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 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));
}
}

}
两个\\

------解决方案--------------------
同意楼上
------解决方案--------------------
两个\\ 表示一个 \

同理 \ " 表示一个 "
------解决方案--------------------
你换个方式写啊!
c:\Java\test可以写成
c:\\Java\\test 也可以是
c:/Java/test不就不是转义了
------解决方案--------------------
用 "\\ " 同理还有 "\& "等等 "\ "本身是转义符 用 "\\ "的话第一个就会把第二个转义 告诉系统第二个只是普通字符不是转义符号 所以就可以输出 "\ "
------解决方案--------------------
lz你要非要这么定义
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( "\\\\ ", "\\\\\\\\ ");//这样就把\换成\\这个了
------解决方案--------------------
我再插一句 上面HelloWorld_001() 提到的c:/Java/test 这种写法也是可行的 而且避免了转义的问题
楼上举的
testStr = testStr.replaceAll( "\\\\ ", "\\\\\\\\ ");
这个列子是一个相当经典的列子 最好楼上的再给楼主讲一下为什么要那么写 ^_^
------解决方案--------------------
对啊,我也很想知道呢
------解决方案--------------------
testStr.replaceAll( "\\\\ ", "\\\\\\\\ ");//这样就把\换成\\这个了
在java 正则表达式中, "\\ "表示一个正则表达式的反斜杆,而我们也知道在一般java程序中要表示一个反斜杆要用 "\\ ",所以在正则表达式中的反斜杆就变成4根反斜杆了( "\\\\ ")
------解决方案--------------------
package org.adio;

public class Show
{

public static void main(String[] args)
{
System.out.println( "\\ ");
}
}

------解决方案--------------------
我们公司曾经有个哥们就用过 replaceAll( "\\\\ ", "\\\\\\\\ ") 开始他也是百思不得其解 后来终于弄明白了 跑到我们这边来跟发现了新大陆似的宣传 我们看了也都感觉挺有意思 有些东西还真的做项目才能发现 只靠主观想当然的想法有时是行不通的~