2014-02-14 146 views
4

我想通过分隔符分隔字符串“|”在Java中,并得到String数组,这里是我的代码:java带分隔符的字符串

String str = "123|sdf||"; 
String[] array = str.split("\\|"); 

我会得到阵列2个元素:"123","sdf"。我期望阵列有4个元素:"123","sdf","",""; 是否有任何现有的课程可以用来做到这一点?我也试过StringTokernizer,不工作

回答

8

split()方法有一个秘密,可选的第二个参数!

String[] array = str.split("\\|", -1); // won't discard trailing empty elements 

默认情况下,split()(具有一个参数)丢弃后从结果空元素。

如果提供了第二个参数,此默认行为丢弃被关断,并且如果正限制元件的数量萃取(但会比这少返回如果找到更少的元件),或者如果负收益无限元件。

阅读关于它的javadoc

+0

哇。每天学习关于'split'的新内容。 – Makoto

+0

@Makoto明天还有什么还有待学习? –