-1

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

我要拆分的文件示例:

10:
String One
20:
String Two

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

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

4

2 回答 2

1

你可以尝试这样的事情:

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

while (file.hasNext())
    System.out.println(file.next());
字符串一
字符串二
于 2012-12-29T20:12:37.980 回答
1

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

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

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

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

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

这将删除所有包含 1 个或多个数字的行,然后是一个冒号,仅此而已。

于 2012-12-29T20:07:43.837 回答