为了账号安全,请及时绑定邮箱和手机立即绑定

如何在不替换为空字符串的情况下使用字符串替换方法?

如何在不替换为空字符串的情况下使用字符串替换方法?

翻翻过去那场雪 2023-05-17 14:37:05
我正在从 csv 文件加载一个 String 并尝试用它创建一个 int 数组。问题是我一直遇到NumberFormatException当程序""在 String 数组中找到 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();
查看完整描述

2 回答

?
紫衣仙女

TA贡献1839条经验 获得超15个赞

你可以filter流而不是空的,而不是null在你之前parse。喜欢,

final int[] scores = Arrays.stream(strScores)
        .filter(x -> x != null && !x.isEmpty())
        .mapToInt(Integer::parseInt)
        .toArray();


查看完整回答
反对 回复 2023-05-17
?
繁华开满天机

TA贡献1816条经验 获得超4个赞

您应该使用数组列表,因为您可以轻松地添加和删除


array_list<String> list = new ArrayList<String>(); // create array list


for (int i =0; i < array_string.length;i++){

    if (!string_array[i].equals("")){ // filter out empty

        array_list.add(string_array[i]);

    }

}


String new_string_array_without_empty = array_list.toArray(new String[0]); // convert to string array again



查看完整回答
反对 回复 2023-05-17
  • 2 回答
  • 0 关注
  • 124 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信