如何打印符号"\"
我想把输入的一个字符串(路径)变成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( "\\\\ ", "\\\\\\\\ ") 开始他也是百思不得其解 后来终于弄明白了 跑到我们这边来跟发现了新大陆似的宣传 我们看了也都感觉挺有意思 有些东西还真的做项目才能发现 只靠主观想当然的想法有时是行不通的~