欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

String.split("") 你不知道的那些事情

程序员文章站 2022-06-17 10:27:23
...

出一个题目

 public static void main(String[] args) {
        String template = "binbin,jingjnig;baobao|年年有福";
        System.err.println(Arrays.toString(template.split(",|;")));
        System.err.println(Arrays.toString(template.split("|")));
    }

这个结果是:

[binbin, jingjnig, baobao|年年有福]
[b, i, n, b, i, n, ,, j, i, n, g, j, n, i, g, ;, b, a, o, b, a, o, |, 年, 年, 有, 福]

有没有感到奇怪,为什么 “|” 分割的是这样的结果。这个问题在于,在正则表达式里面 “|” 带便的意思是 分枝条件

String.split("") 你不知道的那些事情

这样描述应该就清晰了吧。

当然如果你想使用 “|”来做分隔符应该怎么做呢?

String template = "binbin,jingjnig;baobao|年年有福";
        System.err.println(Arrays.toString(template.split(",|;")));
        System.err.println(Arrays.toString(template.split("\\|")));

结果:

[binbin, jingjnig, baobao|年年有福]
[binbin,jingjnig;baobao, 年年有福]