猿问

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

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


翻翻过去那场雪
浏览 125回答 2
2回答

紫衣仙女

你可以filter流而不是空的,而不是null在你之前parse。喜欢,final int[] scores = Arrays.stream(strScores)         .filter(x -> x != null && !x.isEmpty())         .mapToInt(Integer::parseInt)         .toArray();

繁华开满天机

您应该使用数组列表,因为您可以轻松地添加和删除array_list<String> list = new ArrayList<String>(); // create array listfor (int i =0; i < array_string.length;i++){&nbsp; &nbsp; if (!string_array[i].equals("")){ // filter out empty&nbsp; &nbsp; &nbsp; &nbsp; array_list.add(string_array[i]);&nbsp; &nbsp; }}String new_string_array_without_empty = array_list.toArray(new String[0]); // convert to string array again
随时随地看视频慕课网APP

相关分类

Java
我要回答