• 常见用途
  • 用在目录中
  • 转义字符
  • 特殊
  • 在正则表达式中



常见用途

用在目录中

反斜杠在windows系统中用来表示目录
正斜杠在unix系统中,表示目录。由于web遵循unix命名,所以在网址(URL)中,/表示目录。

转义字符

如“\n”(表示换行)、“\””(表示字符‘”’)等,所以在字符串中要表示字符“\”要用“\”来表示
代码如下:

//因为\s不是转义字符,如果你这样定义一个字符串,编译器会报错
String s = "abcd\s123";
//要这样定义获取String s = "abcd\123"
String s = "abcd\\s123";

特殊

在正则表达式中

在正则表达式中的“\”表示和后面紧跟着的那个字符构成一个转义字符,代表着特殊的意义;所以如果你要在正则表达式中表示一个反斜杠\,应当写成“\\”。因为在正则要经过两次转义,因此就需要四个反斜杠才可以匹配一个反斜杠。Java先转义成“\”,在由正则进行一次转义,就结果就为“\”。
一句话:表示正则表达式里面的斜杠“\”,然后再用字符串表示出来。而这2个斜杠分别需要一个转义符,这样就成了4个斜杠在正则表达式里面表示一个斜杠。
下面代码示例:

//将会报错,你应当这样写Matcher m = 
Matcher m = Pattern.compile(“\\”).matcher(“\\”);
//这才是正确且匹配的
Pattern.compile(“\\\\”).matcher(“\\”)来:

我们来看一下String类两个方法:
a)replace(CharSequence target,CharSequence
b)replacement)replaceAll(String regex, String replacement)

public static void main(String[] arg) throws OgnlException {
    String s ="abcd\\123\\\\dcba";
    //把s中的反斜杠\ 替换为\\
    System.out.println(s);
    //结果是abcd\\123\\\\dcba,记住\\\\表示\
    System.out.println(s.replaceAll("\\\\", "\\\\\\\\"));
    //结果是abcd\\\\123\\\\\\\\dcba
    System.out.println(s.replace("\\", "\\\\\\\\"));
}