java - 如何使用字符串替换方法而不用空字符串替换?
问题描述
我正在从 csv 文件加载一个字符串并尝试用它创建一个 int 数组。问题是我一直遇到当程序在字符串数组中NumberFormatException
找到 a 时抛出的 a 。""
我不需要那些空字符串,我只需要整数。
有没有办法避免用空字符串替换字符?
aLine = aLine.replaceAll(" ", "").replaceFirst(",", "");
aLine = aLine.replace(name, "").replaceAll("\"", "");
final String[] strScores = aLine.split(",");
final int[] scores = Arrays.stream(strScores)
.mapToInt(Integer::parseInt).toArray();
解决方案
你可以filter
让流不为空,也不null
在你之前parse
。像,
final int[] scores = Arrays.stream(strScores)
.filter(x -> x != null && !x.isEmpty())
.mapToInt(Integer::parseInt)
.toArray();
推荐阅读
- google-api - Google API 在命令 bazel 构建时出现错误 //
- php - 会话在 PHP 7.3 上不能正常工作,但在 7.0 上工作正常
- angular - 如何使子组件 div 在单击时显示图标,而不显示在其他同类 div 上?
- javascript - 使用 Moment 按天组合小时日期列表
- azure - 使用 OAuth2 通用提供程序成功登录后,Azure Bot 卡在登录卡上
- c++ - 更改 lua_thread 的 _ENV(使用 C API)
- python-3.x - 使用python从pcap文件中读取802.11数据包
- prolog - 序言中的哈希集和队列
- python - 为什么每次我尝试设置变量时 Pyzo 都会抛出错误?
- c++ - 不确定我的排序算法有什么问题