使用场景
//1.路径转义
windows路径: D:\ProgramFiles
Linux路径: /home/myFiles
Java代码中路径符号与Linux一致,而\代表转义字符(无法被打印出来)
String path = “D:\ProgramFiles”; //错
String path = “D:\\ProgramFiles”; //正确,用了转义符号
String path = “D:/ProgramFiles”; //正确,路径符号不需要转义
//2.字符串分割
在Java中,不管是String.split(),还是正则表达式,有一些特殊字符需要转义,因为看String的split()方法源码发现,其就是根据正则表达式
这些字符是 ( [ { / ^ - $ ¦ } ] ) ? * + .
转义方法为字符前面加上"\",这样在split、replaceAll时就不会报错了;
String str="abc.efg.hij";
String str_split=str.split("\\.")[1];
System.out.println("str_split:"+str_split);
特别字符 | 说明 |
$ | 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 ‘\n' 或‘\r'。要匹配 $ 字符本身,请使用 \$。 |
( ) | 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 \( 和 \)。 |
* | 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。 |
+ | 匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+。 |
. | 匹配除换行符 \n之外的任何单字符。要匹配 .,请使用 \。 |
[ ] | 标记一个中括号表达式的开始。要匹配 [,请使用 \[。 |
? | 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 \?。 |
\ | 将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如, ‘n' 匹配字符 ‘n'。'\n' 匹配换行符。序列 ‘\\' 匹配 “\”,而 ‘\(' 则匹配 “(”。 |
^ | 匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配 ^ 字符本身,请使用 \^。 |
{ } | 标记限定符表达式的开始。要匹配 {,请使用 \{。 |
| | 指明两项之间的一个选择。要匹配 |,请使用 \|。 |
' 单引号。要匹配’,请使用\'。 " 双引号。要匹配“,请使用\"。