Java中关于反斜杠的使用


常见用途

用在目录中

反斜杠在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("\\", "\\\\\\\\"));
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值