首页 > 解决方案 > 如何使用字符串替换方法而不用空字符串替换?

问题描述

我正在从 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();

标签: javaarraysstringreplace

解决方案


你可以filter让流不为空,也不null在你之前parse。像,

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

推荐阅读