2013-02-12 64 views
1

在C#我可以使用StringSplitOption.None枚举元素指定欲被包括在所得数组中空字符串:是否有一种简单的方法来强制String.split()返回具有空字符串元素的数组?

String[] s = text.Split(new String[] { "\r\n" }, StringSplitOptions.None); 

在java中我可以执行以下操作:

String[] s= text.split("\r\n"); 

但是,split方法不会返回空字符串。 (所以如果text =“a \ r \ nb \ r \ n”,我想得到{a,b,“”},而不是{a,b})。

有没有一种简单的方法来完成这个要么通过正则表达式或使用其他方法?

回答

4

你可以使用-1为您String#split限制:

System.out.println(Arrays.toString("a\r\nb\r\n".split("\\r\\n", -1))); 
+0

工作。谢谢 :) – 2013-02-12 23:14:43

1

利用番石榴的Splitter。就其工作原理而言,通常更合乎逻辑。

import com.google.common.base.Splitter; 
... 
System.err.println(Splitter.on("\r\n").split("a\r\nb\r\n"));  
相关问题