免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 9392 | 回复: 7
打印 上一主题 下一主题

如何将一个斜线替换成两个斜线 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-07-20 14:24 |只看该作者 |倒序浏览
如何用String中的replaceAll("",""方法完成将字符串中一个斜线变成两个斜线。


比如将c:\a\a.jsp替换成c:\\a\\a.jsp。

看起来容易,但是写出来就不对了。
回帖请给出代码。

论坛徽章:
0
2 [报告]
发表于 2004-07-20 14:50 |只看该作者

如何将一个斜线替换成两个斜线


  1. public class StringReplaceTest {

  2.         public static void main(String[] args) {
  3.                 String source = "c:\\test\\1.txt";
  4.                 System.out.println("Source String: " + source);
  5.                 String target = source.replaceAll("\\\\", "\\\\\\\\");
  6.                 System.out.println("Replaced String: " + target);
  7.         }
  8. }
复制代码

论坛徽章:
0
3 [报告]
发表于 2004-07-20 16:31 |只看该作者

如何将一个斜线替换成两个斜线

还真行!

但是能解释一下么?为什么是4个\代表一个\,我怎么记得是2\代表\。
JDK里面可是这么写的。
Characters
x The character x
\\ The backslash character
\0n The character with octal value 0n (0 <= n <= 7)


为什么我这样写就要报错呢?
      String a = "c:\\tol24\\a.jsp";
        System.out.println("a =="+a);
        System.out.println("re=="+a.replaceAll("\\\\","s");

论坛徽章:
0
4 [报告]
发表于 2004-07-20 21:39 |只看该作者

如何将一个斜线替换成两个斜线

楼主是不是写过php啊? php下面有addslashes()和stripcslashes()

我去google了一下,java的社区里面也有讨论,是用正则做的

http://forum.java.sun.com/thread.jsp?thread=485004&forum=422&message=2357637

论坛徽章:
0
5 [报告]
发表于 2004-07-21 07:47 |只看该作者

如何将一个斜线替换成两个斜线

这里的关键是String.replaceAll()是用regular expression 来作为参数的。但是java本身的字符串对于转义符\也有类似的处理。首先,java会把“\\\\”解释成一个字符串(其中包含两个char)——“\\”这个就是你在JDK的文档里看到的。
接下来,由于replaceAll是以正则表达式作为参数,所以“\\”被解释成一个regex。对于一个regex来说这就代表着一个字符,就是“\”。对后面的那个8个\来说,最终会被解释成“\\”。

换言之,假设String.replaceAll()是以普通字符串,而不是regex作为参数,那么这样写

  1. String target = source.replaceAll("\\", "\\\\");
复制代码
就可以了。

论坛徽章:
0
6 [报告]
发表于 2004-07-21 09:09 |只看该作者

如何将一个斜线替换成两个斜线

原来如此。每个斜线的意思还不一样。

向sakulagi致敬!!!

论坛徽章:
0
7 [报告]
发表于 2012-07-19 11:20 |只看该作者

RE: 如何将一个斜线替换成两个斜线

我是新手看不ing白**破解

论坛徽章:
0
8 [报告]
发表于 2012-07-23 19:00 |只看该作者
因为2个\\代表一个\  ,四个\代表2个\所以就是一个\了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP