首页 > 解决方案 > java - 如何使用unix服务器的正则表达式模式在java中拆分带有两个空行的字符串

问题描述

在 Windows 中,以下正则表达式模式有效: ("\r\n\r\n?\n\r") 但我尝试使用正斜杠,但在服务器上不起作用。要拆分的样本数据:

ABC
XYZ


NMB
YHJ

VGH

因此,在拆分上述数据后,我们想要 2 个字符串数组,例如

string[0] = ABC
XYZ
string[1] = NMB
YHJ

VGH

标签: javaregexstringunix

解决方案


好的,假设我们有一个字符串并想将它分开:

String s = "ABC\nXYZ\n\n\nNMB\nYHJ\n\nVGH";
String separator = System.getProperty("line.separator");
String[] results = s.split(separator + separator);
System.out.println(results[0]);
// returns ABC
//         XYZ

此外,您可能还想再次拆分它们:

for (String res : results) {
    System.out.println(res.split(separator)[0]);
    // returns ABC
 }

推荐阅读