Java - 从文件中读取并将其拆分为多个字符串

时间:2012-12-29 20:03:39

标签: java string file file-manipulation

我正在寻找一个.txt文件,然后将其拆分成多个字符串,但不包括某些行。

我想要分割的文件示例:

10:
String One
20:
String Two

等等。我希望忽略所有数字和冒号,然后将字符串保存在它下面,但停在下一个数字处。

我知道这是非常具体的,我试图自己做,但我没有运气。如果我不能这样做,我确实有一个解决方法,但最终我会有大量的.txt文件,这不是很好。

2 个答案:

答案 0 :(得分:1)

为什么使用Java,当sed非常适合这个?

1,/^10:/d
/^20:/q

这将删除第一行和以10:开头的行之间的所有行,在其后面打印行,并在看到以20:开头的行时退出。

或者,如果要删除所有带有数字后跟冒号的行,可以使用:

/^[[:digit:]]\{1,\}:$/d

这将删除包含1位或多位数的所有行,然后删除冒号,而不删除任何其他行。

答案 1 :(得分:1)

您可以尝试这样的事情:

Scanner file = new Scanner(new File("file.txt"));
file.useDelimiter("\n?\\d+:\n");

while (file.hasNext())
    System.out.println(file.next());
String One
String Two