java通过内存流去掉多行文本中的空行
对于多行文本,你直接通过replace,replaceAll是不能将空行删除的,你需要遍历这些行,对每行文本进行操作,最后把返回新的文本才行。
public static String removeMultiRowBlank(String msg) {
InputStream is = new ByteArrayInputStream(msg.getBytes());
BufferedReader br = null;
String tmp;
StringBuilder stringBuilder = new StringBuilder();
int i = 0;
try {
br = new BufferedReader(new InputStreamReader(is, "utf-8"));
while ((tmp = br.readLine()) != null) {
if (StringUtils.isBlank(tmp)) ;
else {
stringBuilder.append(tmp + "\n");
i++;
System.out.println(i);
}
}
is.close();
} catch (IOException e) {
e.printStackTrace();
}
return stringBuilder.toString();
}
通过上面的方法,将把上图中第一行(空行)删除,并返回处理后的字符串。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2021-09-06 keycloak~扩展事件机制,集成kafka中间件
2017-09-06 异步与并行~CancellationTokenSource对线程的作用
2013-09-06 EF架构~为BulkInsert引入SET IDENTITY_INSERT ON功能
2012-09-06 IoC~MVC3+EF+Autofac实现松耦合的系统架构