使用String.split()所遇到的问题~~迷惑

昨天遇到了一个问题,从前台传来一个字符串,在后台需要split进行拆分,发现结果出乎我的意料,问题如下:
从前台传来的字符串是:a|b|c|d|,需要使用split以|来进行拆分,代码如下:

[code]
public static void main(String[] args) {
String str1 = "a|b|c|d|";
String[] arr1 = str1.split("|");
System.out.println("数组arr1的大小是:"+arr1.length);
for (int i = 0; i < arr1.length; i++) {
System.out.println("----arr1["+i+"]:"+arr1[i]);
}
[/code]
最后打印出来的结果不是我所预期的:
[code]
数组arr1的大小是:9
----arr1[0]:
----arr1[1]:a
----arr1[2]:|
----arr1[3]:b
----arr1[4]:|
----arr1[5]:c
----arr1[6]:|
----arr1[7]:d
----arr1[8]:|
[/code]
[color=red]数组的大小本来预期的是:4,现在怎么打印出来的是:9[/color]。
不知道问题出在那里了,最后将前台传来的字符串不使用"|",使用":"来把它们隔开,问题解决了。
将字符串换成:"a:b:c:d:"后的代码:
[code]
public static void main(String[] args) {
String str2 = "a:b:c:d:";
String[] arr2 = str2.split(":");
System.out.println("数组arr2的大小是:"+arr2.length);
for (int i = 0; i < arr2.length; i++) {
System.out.println("----arr2["+i+"]:"+arr2[i]);
}
}
[/code]
打印出来的结果,遇到预期的是一致的:
[code]
数组arr2的大小是:4
----arr2[0]:a
----arr2[1]:b
----arr2[2]:c
----arr2[3]:d
[/code]
[color=red]难道使用"|"和":",对于split来说会有不同对待[/color],迷惑,期待高手的指点~~~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值