关于\\

hbgzg3006 2008-11-21 05:16:25
把一个File 对象分割或者是替换其中字符\的时候会报错。
比如我得到了一个File 对象为D:\test,我想变为D:/test,为什么对File转换成String后的对象split("\\")或者是replaceAll("\\","/")会错误呢?
...全文
95 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
mayuanfei 2008-11-21
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 hbgzg3006 的回复:]
引用 2 楼 cangyue87 的回复:
replaceAll方法的第一个参数和split方法的参数都是正则
使用"\\\\",其中string和正则各消耗一次转意喵~~~``

猫猫 你解释一下string和正则各消耗一次转意吧 谢谢
[/Quote]
哈哈.猫猫.这个名字起的不错.我替猫猫给你解释下吧:
在java 中如果你在字符串中要写"\",安装规定是需要转义的.也就是说需要"\\"来代表"\".
而你调用的split方法,ReplaceAll方法,是支持正则表达式的.而在正则表达式中也是用"\\"来代替"\"
这就是猫猫所说的"各消耗一次转意"
cangyue87 2008-11-21
  • 打赏
  • 举报
回复
在string里\必须表示为\\
在正则里\必须表示为\\

楼主的参数为string类型的正则表达式,\需要用\\\\来表示
hbgzg3006 2008-11-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 cangyue87 的回复:]
replaceAll方法的第一个参数和split方法的参数都是正则
使用"\\\\",其中string和正则各消耗一次转意喵~~~``
[/Quote]
猫猫 你解释一下string和正则各消耗一次转意吧 谢谢
yyy6210 2008-11-21
  • 打赏
  • 举报
回复
"\\\\"
android2008 2008-11-21
  • 打赏
  • 举报
回复
ding
mayuanfei 2008-11-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 cangyue87 的回复:]
replaceAll方法的第一个参数和split方法的参数都是正则
使用"\\\\",其中string和正则各消耗一次转意喵~~~``
[/Quote]
这位老"喵~~~"的说的对.
cangyue87 2008-11-21
  • 打赏
  • 举报
回复
replaceAll方法的第一个参数和split方法的参数都是正则
使用"\\\\",其中string和正则各消耗一次转意喵~~~``
hbgzg3006 2008-11-21
  • 打赏
  • 举报
回复
[Quote=引用楼主 hbgzg3006 的帖子:]
把一个File 对象分割或者是替换其中字符\的时候会报错。
比如我得到了一个File 对象为D:\test,我想变为D:/test,为什么对File转换成String后的对象split("\\")或者是replaceAll("\\","/")会错误呢?
[/Quote]
顺便如果想变成D:\\test,该怎么变?

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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