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

I have a String = "Hello-new-World". And when i use the split() method with different regex values, it acts differently.

String str = "Hello-new-world"

String[] strbuf=str.split("-");

for(int i=0;i

System.out.print(strbuf[i]+" ");

The output i get is :

hello

new

world

whereas if i change my string to "Hello|new|world", i get an altogether different answer. The new output becomes:

h

e

l

l

o

|

n

e

w

|

w

o

r

l

d

Can someone please explain what could be the possible reason for this.

解决方案

Presumably you're splitting on "|" in the second case - and | has a special meaning within regular expressions. If you want to split on the actual pipe character, you should escape it:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值