JAVA中的斜杠
目前创新互联已为上1000家的企业提供了网站建设、域名、虚拟空间、绵阳服务器托管、企业网站设计、锡林浩特网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。有正斜杠与反斜杠之分,正斜杠,一般就叫做斜杠,符号为“/”;反斜杠的符号为“\”。
斜杠(/)在JAVA中没有什么特别的意义,就是代表一个字符‘/';
反斜杠(\)则不然,它和紧跟着它的那个字符构成转义字符,如“\n”(换行)、“\””(字符‘”‘)等,所以在字符串中要表示字符'\'要用“\\”来表示,例:如果你这样定义一个字符串String s = “name\sex”是错误的,要这样定义String s = “name\\sex”;
注意:在正则表达式中的“\\”表示和后面紧跟着的那个字符构成一个转义字符(姑且先这样命名),代表着特殊的意义;所以如果你要在正则表达式中表示一个反斜杠\,应当写成”\\\\”。如果你这样获得一个Matcher,Matcher m= Pattern.compile(“\\”).matcher(“\\”)将会报错,你应当这样写Matcher m = Pattern.compile(“\\\\”).matcher(“\\”)才是正确且匹配的
接下来我们来看一下String类中replace(CharSequencetarget,CharSequence replacement)方法与replaceAll(String regex,String replacement)方法的区别:
我们先看一个例子:
public static voidmain(String[] arg) throws OgnlException { String s="sdf\\a\\aa"; //把s中的反斜杠\ 替换为\\ System.out.println(s); System.out.println(s.replaceAll("\\\\","\\\\\\\\")); System.out.println(s.replace("\\","\\\\")); }