Java 代码中需要使用转义符的地方


1. 正则表达式转义

Java 代码中使用到正则表达式里含有特殊字符时需要使用转义符\进行转义。

. ? * + ! ^ $ [ ] ( ) \ 

因为反斜线\也是特殊字符,所以特殊符号的转义需使用双反斜线\\,否则会报java.util.regex.PatternSyntaxException异常。

public static void main(String[] args) {
    String string = "435212.jpg";
    if (string.contains(".")) {
        System.out.println("包含一个点");
    }
    String suffix = string.split("\\.")[1];
    System.out.println(suffix);
}

上面代码的运行结果是:
在这里插入图片描述
可以看出 contains 方法不需要转义,而 split 方法就需要转义了,所以 JDK API 中只有参数是正则表达式的地方才需要转义。

java.lang.String类中参数是正则表达式的方法有:

public boolean matches(String regex);

public String replaceFirst(String regex, String replacement);

public String replaceAll(String regex, String replacement);

public String[] split(String regex);

public String[] split(String regex, int limit);

示例:将 List 通过正则转换为 SQL 中 IN 条件字符串(使用了 replaceAll 方法):

public static void main(String[] args) {
    List<String> list = new ArrayList<>();
    list.add("aaaa");
    list.add("bbbb");
    String str = "('" + list.toString().replaceAll("\\[|\\]|\\s", "").replaceAll(",", "','") + "')";
    System.out.println(str);
}

2. 文件路径转义

Windows 下路径写法,间隔符使用双反斜线\\

C:\\Users\\QPING\\Desktop\\JavaScript\\2.html

Linux 下路径写法,间隔符用斜线/

/site/images/qiyinwang/userid/xxxxx.jpg

或者在 Java 中可以直接使用File.separator,可以自动识别为对应操作系统下的文件间隔符:

//文件保存路径 D:\tempPicture.jpg
String path = "D:"+File.separator+"tempPicture.jpg";
//文件保存路径 /site/tempPicture.jpg
String path = File.separator+"site"+File.separator+"tempPicture.jpg";
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值