1

在 C# 中,我可以使用 StringSplitOption.None 枚举元素来指定我希望将空字符串包含在结果数组中:

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

2 回答 2

4

您可以-1用作您的String#split限制:

System.out.println(Arrays.toString("a\r\nb\r\n".split("\\r\\n", -1)));
于 2013-02-12T23:13:25.590 回答
1

使用番石榴的Splitter. 通常就其工作方式而言更合乎逻辑。

import com.google.common.base.Splitter;
...
System.err.println(Splitter.on("\r\n").split("a\r\nb\r\n"));    
于 2013-02-12T23:15:18.603 回答