如何把字符串中的"\"替换成"\\"? rt 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 String str="\\";System.out.println(str);System.out.println(str.replaceAll("\\\\","\\\\\\\\")); str.replaceAll("\\\\","\\\\\\\\")); String str="\\";System.out.println(str);System.out.println(str.replaceAll("\\\\","\\\\\\\\"));正解 replaceAll("\\","\\\\");明白"\"的用法就可以了! String str="\\";System.out.println(str);System.out.println(str.replaceAll("\\\\","\\\\\\\\"));象这样是没问题的。但我的字符串变量由jsp页传给java类处理,如传进来的是str = "c:\abc\efg";则str.replaceAll("\\","\\\\\\\\")); 会出错 str=request.getParameter("path");str=str.replaceAll("\\\\","\\\\\\\\"); 就这样没有问题的... replaceAll("\\\\","\\\\\\\\")开始做错了 //lip009(深蓝忧郁) //str=request.getParameter("path");//str=str.replaceAll("\\\\","\\\\\\\\"); //就这样没有问题的... 这样是没报错的, 但字符串里还是 "\".str = "c:\abc\efg"; 用上面的方法替换后还是 str = "c:\abc\efg";把字符串传给函数,由函数来实现,就可以,真奇怪public static String formatPath(String path) { String str = path.replaceAll("\\\\", "\\\\\\\\"); return str; }str = formatPath( str );str就等于 c:\\abc\\efg str = "c:\abc\efg"; 这一句是会报错的...编译通不过的因为\在JAVA里是转义符号,在这里JAVA把\a当成了一个转义后的字符,但是\a不存在这样的转义字符,所以错了.而你用str=request.getParameter("path");这句从页面取的值是输出以后是c:\abc\efg这个结果,但是要放到JAVA代码里其实就是str = "c:\\abc\\efg"; 要加上转义了,所以str输出也是c:\abc\efg,和页面输入的是相同的字串. 讨论:java搜索引擎之网络爬虫研究 思想 将十进制的三原色转化成为RGB十六进制数 权限框架源码 jdk中的JAVA程序运行问题?请教!! 如何实现int列表 ■■做个人搜索引擎,征求高见,向Google模式学习。。■■ 帮我,在线等(我是菜鸟) 能推荐几本学习JAVA的好书吗? 一道面试题 帮改错(四): RandomAccessFile的构造方法中的参数 程序为什么会出现这样的异常
System.out.println(str);
System.out.println(str.replaceAll("\\\\","\\\\\\\\"));
System.out.println(str);
System.out.println(str.replaceAll("\\\\","\\\\\\\\"));
正解
明白"\"的用法就可以了!
System.out.println(str);
System.out.println(str.replaceAll("\\\\","\\\\\\\\"));象这样是没问题的。
但我的字符串变量由jsp页传给java类处理,
如传进来的是str = "c:\abc\efg";
则
str.replaceAll("\\","\\\\\\\\")); 会出错
str=str.replaceAll("\\\\","\\\\\\\\");
就这样没有问题的...
开始做错了
//str=request.getParameter("path");
//str=str.replaceAll("\\\\","\\\\\\\\");
//就这样没有问题的...
这样是没报错的, 但字符串里还是 "\".str = "c:\abc\efg"; 用上面的方法替换后还是 str = "c:\abc\efg";把字符串传给函数,由函数来实现,就可以,真奇怪
public static String formatPath(String path)
{
String str = path.replaceAll("\\\\", "\\\\\\\\"); return str;
}str = formatPath( str );str就等于 c:\\abc\\efg
这一句是会报错的...编译通不过的
因为\在JAVA里是转义符号,在这里JAVA把\a当成了一个转义后的字符,但是\a不存在这样的转义字符,所以错了.
而你用str=request.getParameter("path");这句从页面取的值是输出以后是c:\abc\efg这个结果,但是要放到JAVA代码里其实就是str = "c:\\abc\\efg"; 要加上转义了,所以str输出也是c:\abc\efg,和页面输入的是相同的字串.