逐行阅读和标记输入?

时间:2014-01-30 18:56:39

标签: java string

我有一个String,其中包含以下内容:

Aaa     Blll Chhh    D
Rrr   q h j 9 5
h 8 i

这些行是因为字符串中有'\ n'个字符。

我需要能够将它放入String的2D数组中。

分隔事物的是白色空间。

所以输出是:

["Aaa"]["Blll"]["Chhh"]["D"]
["Rrr"]["q"]["h"]["j"]["9"]["5"]
["h"]["8"]["i"]

示例:

strings[1][0] is "Rrr"
strings[2][2] = "i"

我可以使用什么来标记输入字符串?

由于

1 个答案:

答案 0 :(得分:4)

String[] lines = input.split("\n\r?|\r");
int nLines = lines.length;
String[][] fields = new String[nLines][];
for (int i = 0; i < nLines; ++i) {
  fields[i] = lines[i].trim().split("[ \t]+");
}

如果输入字符串可以有空行或零行,那么您可能需要处理所有空白行或全空白输入作为一种特殊情况,因为"".split(...)new String[] { "" },而不是{ {1}}。