繁体   English   中英

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

[英]How to remove specific line from multi-line 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("-","");

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

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"));

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

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

它将用空String替换该行

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM