2013-02-12 109 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"));  
相關問題