String中的split方法中部分转义无效的问题

 

使用String的split(String regex)时,传入的regex是分割字符串的正则表达式。而有时候用【.】、【|】】、【\】等无效,这是因为它们是关键字,需要加【\\】进行转义

如:

        String[] splitArr = "a.b.c".split(".");
        System.out.println(Arrays.toString(splitArr)); 

奇怪的是结果为:[]

 

添加转义后的代码:

        String[] splitArr = "a.b.c".split("\\.");
        System.out.println(Arrays.toString(splitArr));

结果为:[a, b, c]

 

 需要转义的有以下:

1. 常使用的有:

  . | [ ] ()\

2. 不常用的有:

  +*^?[\\{}$

 

posted @ 2021-10-07 10:33  黄小葱  阅读(453)  评论(0编辑  收藏  举报