gpt4 book ai didi

java - 使用 split ("|"通过管道符号拆分 Java 字符串)

转载 作者:行者123 更新时间:2023-11-30 05:01:22 24 4
gpt4 key购买 nike

Java 官方文档指出:

例如,字符串 "boo:and:foo" 使用这些表达式会产生以下结果正则表达式结果:

{ "boo", "and", "foo" }"

这就是我需要它工作的方式。但是,如果我运行这个:

public static void main(String[] args){
String test = "A|B|C||D";

String[] result = test.split("|");

for(String s : result){
System.out.println(">"+s+"<");
}
}

它打印:

><
>A<
>|<
>B<
>|<
>C<
>|<
>|<
>D<

这与我的预期相去甚远:

>A<
>B<
>C<
><
>D<

为什么会这样?

最佳答案

你需要

test.split("\\|");

split 使用正则表达式,在 regex 中,| 是表示 OR 运算符的元字符。您需要使用 \ 转义该字符(在字符串中写为 "\\" 因为 \ 也是字符串文字中的元字符,需要另一个\ 来转义它)。

你也可以使用

test.split(Pattern.quote("|"));

并让 Pattern.quote 创建代表 | 的正则表达式的转义版本。

关于java - 使用 split ("|"通过管道符号拆分 Java 字符串),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58186900/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com