river_hiter

#

有关正则表达式的一个技巧

最近编个小程序,要涉及到读取用户输入的文件路径,并根据其保存到相应的目录。
由于用户输入的是一般的字符表达式,比如“D:\document\myprogram\first.java”.需要将'\'换成'\\'才行。刚开始以为replaceAll("\\", "\\\\”)就可以了。而后来发现需写成replaceAll("\\\\", "\\\\\\\\”)才行。自己又编了个程序测试一下:
String s = "D:\\documents\\first.java"
String ss = ss = s.replaceAll("\\\\", "\\\\\\\\”);
System.out.println("s= " + s);
System.out.println("ss=" + ss);
结果输出:
s= D:\documents\first.java
ss= D:\\documents\\first.java
后来仔细想想才明白,首先,java会把“\\\\”解释成一个字符串,接下来,由于replaceAll是以正则表达式作为参数,所以“\\”被解释成一个regex。对于一个regex来说这就代表着一个字符,就是“\”。对后面的那个8个\来说,最终会被解释成“\\”。

posted @ 2006-09-04 20:36 何晏成 阅读(136) | 评论 (0)编辑 收藏

初来乍到

我喜欢java
希望能在这个纯洁的技术讨论区学到更多的东西……
也希望能在这里交到更多的朋友,认识更多的牛人……

posted @ 2006-08-28 11:11 何晏成 阅读(111) | 评论 (0)编辑 收藏

仅列出标题
共2页: 上一页 1 2 

My Links

Blog Stats

常用链接

留言簿(1)

随笔档案

文章档案

搜索

最新评论

阅读排行榜

评论排行榜