我正在寻找一个 .txt 文件,然后将其拆分为多个字符串,但不包括某些行。
我要拆分的文件示例:
10:
String One
20:
String Two
等等。我希望忽略所有数字和冒号,然后将字符串保存在它下面,但在下一个数字处停止。
我知道这是非常具体的,我自己尝试过,但我没有运气。如果我不能这样做,我确实有一个解决方法,但最终会导致我拥有大量不太好的 .txt 文件。
我正在寻找一个 .txt 文件,然后将其拆分为多个字符串,但不包括某些行。
我要拆分的文件示例:
10:
String One
20:
String Two
等等。我希望忽略所有数字和冒号,然后将字符串保存在它下面,但在下一个数字处停止。
我知道这是非常具体的,我自己尝试过,但我没有运气。如果我不能这样做,我确实有一个解决方法,但最终会导致我拥有大量不太好的 .txt 文件。
你可以尝试这样的事情:
Scanner file = new Scanner(new File("file.txt"));
file.useDelimiter("\n?\\d+:\n");
while (file.hasNext())
System.out.println(file.next());
字符串一 字符串二
当 sed 非常适合这个时,为什么要使用 Java?
1,/^10:/d
/^20:/q
这将删除第一行和以 开头的行之间的所有行10:
,打印其后的行,并在看到以 开头的行时退出20:
。
或者,如果要删除所有带有数字后跟冒号的行,可以使用以下命令:
/^[[:digit:]]\{1,\}:$/d
这将删除所有包含 1 个或多个数字的行,然后是一个冒号,仅此而已。