拆分用逗号分隔的字符串并将值存储到 int 数组中

Posted

技术标签:

【中文标题】拆分用逗号分隔的字符串并将值存储到 int 数组中【英文标题】:Splitting a string separated by commas and storing the value into an int array 【发布时间】:2016-12-18 21:55:05 【问题描述】:

我有一个字符串,我想用逗号分隔(简单的过程):

String numbers = "1,2,3";

但是,然后我想将拆分字符串的每个元素转换为一个 int,该 int 可以存储在一个用逗号分隔的 int 数组中:

int[][] array = new int [0][];
array[0] = new int[] 1,2,3;

我怎样才能做到这一点?

【问题讨论】:

您不需要二维数组。拆分字符串并将其解析为 Integer。 我可以在使用 Integer.parseint() 将字符串拆分为整数后对其进行解析,但是我想知道如何创建逗号分隔的整数? @Yehudah 检查我的答案。如果我理解正确的话,我想这就是你要找的东西。 【参考方案1】:

二维数组是不必要的。您需要做的就是使用split 方法将逗号从字符串中拼接出来。然后将结果数组中的每个元素转换为 int。它应该是这样的,

String numbers = "1,2,3";
String[] arr = numbers.split(",");
int[] numArr = new int[arr.length];
for(int i = 0; i < numArr.length; i++)
    numArr[i] = Integer.parseInt(arr[i]);

【讨论】:

【参考方案2】:
String[] strArr = numbers.split(",");
int[][] array = new int[1][];
for(int i = 0; i < strArr.length; i++) 
    array[0][i] = Integer.parseInt(strArr[i]);

【讨论】:

【参考方案3】:

你不需要二维数组,你可以使用简单的数组。存储这些数据就足够了。只需将其拆分为“,”,然后遍历该数组,解析所有 int 并将解析后的值添加到新数组中。

  String numbers = "1,2,3,4,5";
        String[] splitedArr= numbers.split(",");
        int[] arr = new int[splitedArr.length];
        for(int i = 0; i < splitedArr.length; i++) 
            arr[i] = Integer.parseInt(splitedArr[i]);
        
       System.out.println(Arrays.toString(arr)); 

【讨论】:

【参考方案4】:
    String s = "1,2,3";

    StringTokenizer st = new StringTokenizer(s,",");
    int[][] array = new int [0][];
    int i = 0;
    while(st.hasMoreElements()) 
        int n = Integer.parseInt((String) st.nextElement());
        array[0][i] = n;
        i++;
    

这是 String.split() 的两倍

【讨论】:

【参考方案5】:
array[0] = Arrays.stream(numbers.split(","))
        .mapToInt(Integer::parseInt)
        .toArray();

【讨论】:

这需要 jdk 8 虽然此代码可以回答问题,但提供有关 如何 和/或 为什么 解决问题的附加上下文将改善答案的长期价值。 - From Review

以上是关于拆分用逗号分隔的字符串并将值存储到 int 数组中的主要内容,如果未能解决你的问题,请参考以下文章

如何使用逗号分隔值拆分列并存储在 PySpark Dataframe 中的数组中?如下所示

PL SQL从用逗号分隔的字符串创建数字数组[重复]

拆分字符串并循环遍历 MySql 过程中的值

Pyspark 数据帧拆分并将分隔列值填充到 N 索引数组中

需要来自 txt 文件的数据,以逗号分隔,以使用现有类中的对象填充数组列表

SQL拆分逗号分隔的字符串