java - 如何从多行字符串中删除特定行
问题描述
我有下面的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"));
推荐阅读
- c++ - C++文件读取和存储在向量中并在Linux环境下使用向量查找字符串
- google-cloud-platform - 为 GCP 设置 Google 帐户
- android - Android:如何比 telephonymanager.getCallState() 更详细地监控通话状态?
- php - Laravel Excel 导入文件获取错误数据
- apache - 在 web-root 中限制文件夹/文件访问的最简单(但仍然安全)的方法是什么?
- excel - 如何将源excel表的特定列复制到目标excel表的特定列?
- html - 导入引导 css 时边框渐变消失
- amazon-web-services - 适用于 Go 的 AWS 开发工具包 - DynamoDb - 使用表达式生成器来增加值而不是设置它
- r - 所有曲线都没有出现在 R 的 ggplot 中
- scala - 如何根据 spark scala 数据框中的源列动态添加列