正则表达式在空格和换行符上拆分文本?

时间:2018-03-29 16:55:43

标签: java regex split

我有一个字符串,如下所示:

This is line number 1.
[space][space][space][space]\n
[space]\n
This is line number 2.

其中每个[space]代表一个空格,\ n代表一个新行。 我想要做的是将此字符串拆分为两个字符串,一个具有“这是行号1”。另一个包含“这是第2行”。换句话说,在每两个空行上拆分字符串,无论它们是否包含空格。 我试图做的事情:

System.out.println(myString.split("^[ ]{0,}\\n")[0]);

但上面打印整个字符串。

更新

我尝试过的其他事情也打印整个字符串,似乎不起作用:

System.out.println(myString.split("(^[ ]{0,}\\n){2,}")[0]);

这些都打印整个字符串。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

只需在此模式中启用多行标记即可。

tkinter

myString.split("(?m)^[ ]{0,}\n") 字符添加了一个多行标记,您可以在不使用Java ?m类的情况下传递。

这应该有效,不确定你是否得到第一行造成的额外分割。

答案 1 :(得分:-1)

我只是在工作休息时简单地查看一下这些问题,所以也许我还没有彻底阅读这个问题,但是你试过了吗?

System.out.println(parsedText.split("^[ ]{0,}\n\n")[0]);

好像你没有在代码中完全跳过两行。再一次可能是错的,但值得一试!