Rob*_* IV 64 java string split
我有以下字符串:
String str = "\nHERE\n\nTHERE\n\nEVERYWHERE\n\n";
Run Code Online (Sandbox Code Playgroud)
如果你只是打印它,它会像这样输出(当然\n不会"字面"打印):
\n
HERE\n
\n
THERE\n
\n
EVERYWHERE\n
\n
\n
Run Code Online (Sandbox Code Playgroud)
当我调用该方法时split("\n"),我希望获得新的line(\n)字符之间的所有字符串,甚至是最后的空字符串.
例如,如果我今天这样做:
String strArray[] = str.split("\n");
System.out.println("strArray.length - " + strArray.length);
for(int i = 0; i < strArray.length; i++)
System.out.println("strArray[" + i + "] - \"" + strArray[i] + "\"");
Run Code Online (Sandbox Code Playgroud)
我希望它像这样打印出来(输出A):
strArray.length - 8
strArray[0] - ""
strArray[1] - "HERE"
strArray[2] - ""
strArray[3] - "THERE"
strArray[4] - ""
strArray[5] - "EVERYWHERE"
strArray[6] - ""
strArray[7] - ""
Run Code Online (Sandbox Code Playgroud)
目前,它打印如下(输出B),并跳过任何结束的空字符串:
strArray.length - 6
strArray[0] - ""
strArray[1] - "HERE"
strArray[2] - ""
strArray[3] - "THERE"
strArray[4] - ""
strArray[5] - "EVERYWHERE"
Run Code Online (Sandbox Code Playgroud)
如何使split()方法包含输出A中的空字符串?当然,我可以编写一个多行代码,但想知道,在我浪费时间尝试实现之前,如果有一个简单的方法或额外的两行左右的代码来帮助我.谢谢!
单参数split方法被指定为忽略尾随空字符串拆分,但采用"limit"参数的版本保留它们,因此一个选项是使用具有大限制的该版本.
String strArray[] = str.split("\n", Integer.MAX_VALUE);
Run Code Online (Sandbox Code Playgroud)