首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

String如何替换"\"

2012-01-24 
String怎么替换\Java codeString testStr \testSystem.out.println(testStr.replaceAll(\\, _)

String怎么替换"\"

Java code
String testStr = "\test";System.out.println(testStr.replaceAll("\\", "_"));

我想把\test替换成_test,但是按上面的写法运行会报错

Java code
Exception in thread "main" java.util.regex.PatternSyntaxException: Unexpected internal error near index 1\ ^    at java.util.regex.Pattern.error(Unknown Source)    at java.util.regex.Pattern.compile(Unknown Source)    at java.util.regex.Pattern.<init>(Unknown Source)    at java.util.regex.Pattern.compile(Unknown Source)    at java.lang.String.replaceAll(Unknown Source)    at lmiky.test.string.SubStringTest.main(SubStringTest.java:101)


[解决办法]
replaceAll("\\\\", "_")
[解决办法]
楼上正解 
字符串里 \\表示一个"\" 但relaceAll里的 第一个参数是一个正则表达式
在正则里 \\\\表示一个"\" 至今我都不明白为什么要这样 呵呵
[解决办法]
走错了
[解决办法]
探讨

楼上正解
字符串里 \\表示一个"\" 但relaceAll里的 第一个参数是一个正则表达式
在正则里 \\\\表示一个"\" 至今我都不明白为什么要这样 呵呵

[解决办法]
\t 是转义字符吧 你的写法就是错的 要写成str="\\test"
[解决办法]
普通情况下 是replaceAll("\\\\", "_")的
不过你测试用test \t 又代表退表符,这就不是斜杠的替换了

replaceAll("\t", "_t")


[解决办法]
或者写成 

String testStr = "\\test";
System.out.println(testStr.replaceAll("\\\\", "_"));
[解决办法]
汗,我没测试过,想当然了。\t你写的不对,要\\t

String testStr = "\\test";
System.out.println(testStr.replaceAll("\\\\", "_"));
[解决办法]
那这样你考虑的就多了 \n \r \t \e 这一类的都是转义字符 按String 截取的时候还要照顾各种情况。
[解决办法]
String testStr = "\test";
这个文本内容不是 \test....
内容是[ est]
自己打印一下看就知道了System.out.println("\test");

文本内容\test的写法是 String testStr = "\\test";
相应的替换是testStr.replace("\\\\","_");

windows的路径写法本来就不能再java下直接用...没人和你说过斜杠要写正斜杠或者双斜杠吗...
你这个路径是因为正好这个字符串里没碰到转移字符而已...
[解决办法]
这样可以把"\"替换成"_t"
Java code
        String str="d:\\test\\test.wav";        String temp=str.replaceAll("\\\\", "_t");        System.out.println(temp);
[解决办法]
探讨

引用:

String testStr = "\test";
这个文本内容不是 \test....
内容是[ est]
自己打印一下看就知道了System.out.println("\test");

文本内容\test的写法是 String testStr = "\\test";
相应的替换是testStr.replace("\\\\……

------解决方案--------------------


探讨
Java code

String testStr = "\test";
System.out.println(testStr.replaceAll("\\", "_"));


我想把\test替换成_test,但是按上面的写法运行会报错

Java code

Exception in thread "main" java.util.regex.PatternSyntaxExcept……

[解决办法]
replaceAll("\\\\", "_")
[解决办法]
你这个问题以前做过,就用replace就成
你这么写一下
temp = str.replace("")
然后打印temp的值
以前我我做过一个是获取网址,然后再根据网址生成目录,文件,写到tomcat的运行目录中,像你这样的问题就这样就行
[解决办法]
传入的参数是什么
传出的参数是什么?
[解决办法]
Java code
public class M{    public static void main(String[] args)     {        String str = "\\test";        System.out.println(str);        System.out.println(str.replaceAll("\\\\","_"));    }};
[解决办法]
测试用例写错了,应该是
"\\test"
[解决办法]
刚才试了下,你这么整一下,先把获取到的字符串由单\替换为双\\,然后再用
System.out.println(testStr.replaceAll("\\\\", "_"));
[解决办法]
你去查一查API帮助文档,好像有方法可以解决这个问题~
[解决办法]
应该是"\\test"
[解决办法]
探讨

应该是"\\test"

[解决办法]
受不鸟了...
你没说清楚啊...
是别人给你的字符串吧?
传给你的字符串是\test
那你获得的字符串存储实际为 \\test
[解决办法]
自己用String的charAt转换下不知道可以不可以
[解决办法]
replaceAll("\t", "_t")可以
不过估计其它的要你自己全部换了

热点排行