如何从多行字符串中删除特定行

时间:2019-01-08 08:43:05

标签: java string

我在java字符串下面有命令输出

String output = "NIC     Value\n"
                + "------  -----\n"
                + "vmn0  on   \n"
                + "vmn1  on   \n"
                + "vmn2  on   \n"
                + "vmn3  on   \n"
                + "vmn4  on";

我想从字符串上方删除带有破折号的第二行。我该怎么办?

我尝试了使用contains方法,但是删除第二行后生成空白行。

 if(output!=null && output.contains("-"))
            output = output.replace("-","");

2 个答案:

答案 0 :(得分:1)

这是您正在寻找的完整答案:

String output = "NIC     Value\n"
            + "------  -----\n"
            + "vmn0  on   \n"
            + "vmn1  on   \n"
            + "vmn2  on   \n"
            + "vmn3  on   \n"
            + "vmn4  on";

    String str = Stream.of(output.split("\n"))
                       .filter(s -> !s.contains("--"))
                       .collect(Collectors.joining("\n"));

答案 1 :(得分:0)

您可以使用它删除该行并使用结​​果,

String result = output.replace("------  -----\n", "");

它将用空的String替换该行