反斜杠“\”转换为“\\”问题,求解

ascendlin 2012-04-23 01:41:33

package com.test;
public class Test01 {

public static void main(String[] args) {
String s = "d:\2012-05.xls";
System.out.println(s.replaceAll("\\\\", "\\\\\\\\"));

}
}

结果为啥子是d:?2-05.xls
而不是d:\\2012-05.xls
...全文
174 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wang4016 2012-04-23
  • 打赏
  • 举报
回复
/斜杠是真确的路径表示方法但是也可以用 \\斜杠来表示就是不能用单\来表示。而且你写代码没有报错吗?
bree06 2012-04-23
  • 打赏
  • 举报
回复
那就换种方式好了,你不是从jsp里画面取得的吗,那就试试用Workbook.getWorkbook(formFile.getPath());
ascendlin 2012-04-23
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

那就对了,打印出来是d:\2012-05.xls路径就是对的,应为java里要得到\ 必须用 \\
路径已经是d:\\2012-05.xls了,不用作任何转义
[/Quote]
但是这样我用jxl去读的话就是Workbook.getWorkbook("d:\2012-05.xls");这样就报错啊
bree06 2012-04-23
  • 打赏
  • 举报
回复
那就对了,打印出来是d:\2012-05.xls路径就是对的,应为java里要得到\ 必须用 \\
路径已经是d:\\2012-05.xls了,不用作任何转义
ascendlin 2012-04-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

你的路径本身就是有问题的
d:\2012-05.xls 应该是 d:\\2012-05.xls

\201 系统会认为是一个字符,replaceAll是正则匹配,在字符串中找不到'\',所以结果就会是d:?2-05.xls,为原字符。


你可以加一个System.out.println(s);测试一下
[/Quote]我从jsp页面取过来(取的本地路径)打印出来就是d:\2012-05.xls
bree06 2012-04-23
  • 打赏
  • 举报
回复
你的路径本身就是有问题的
d:\2012-05.xls 应该是 d:\\2012-05.xls

\201 系统会认为是一个字符,replaceAll是正则匹配,在字符串中找不到'\',所以结果就会是d:?2-05.xls,为原字符。


你可以加一个System.out.println(s);测试一下
ascendlin 2012-04-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

引用楼主 的回复:
Java code

package com.test;
public class Test01 {

public static void main(String[] args) {
String s = "d:\2012-05.xls";
System.out.println(s.replaceAll("\\\\", "\\\\\\\\"));
……
……
[/Quote]就是不知道怎么转啊,求解
fangzhaoguo 2012-04-23
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
Java code

package com.test;
public class Test01 {

public static void main(String[] args) {
String s = "d:\2012-05.xls";
System.out.println(s.replaceAll("\\\\", "\\\\\\\\"));
……
[/Quote]

String s = "d:\2012-05.xls";


这个地方就应该转义
String s = "d:\\2012-05.xls";

或者
String s = "d:/2012-05.xls";

50,534

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧