gpt4 book ai didi

Java:带有管道特殊字符的 split() 方法

转载 作者:行者123 更新时间:2023-11-29 09:39:15 24 4
gpt4 key购买 nike

我有一个 String = "Hello-new-World"。当我使用具有不同正则表达式值的 split() 方法时,它的行为会有所不同。

String str = "Hello-new-world"
String[] strbuf=str.split("-");
for(int i=0;i<strbuf.length;i++)
System.out.print(strbuf[i]+" ");

我得到的输出是:

hello
new
world

而如果我将字符串更改为“Hello|new|world”,我会得到一个完全不同的答案。新的输出变为:

h
e
l
l
o
|
n
e
w
|
w
o
r
l
d

谁能解释一下这可能是什么原因。

最佳答案

在第二种情况下,您可能会根据 "|" 进行拆分 - 而 | 在正则表达式中具有特殊含义。如果你想在实际的管道字符上拆分,你应该转义它:

String[] bits = whole.split(Pattern.quote("|"));

关于Java:带有管道特殊字符的 split() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21215220/

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