【问题标题】:How to extract numbers from a String into an array如何将字符串中的数字提取到数组中
【发布时间】:2015-05-03 02:18:46
【问题描述】:

我需要将存储在 String 中的所有数值放入一个数组中:

String str = "12,1,222,55";

如果我这样做,那么它将合并所有数字:

str = str.replaceAll("\\D+","");

如何获得这样的东西?:

int[] result = new int[]{12,1,122,55};

【问题讨论】:

  • 在 java 文档中查找 string.split 和 Integer.parseInt
  • 干脆不要合并。只需按, 拆分,然后将元素隐藏为 int 并存储一个数组。

标签: java arrays string


【解决方案1】:

首先拆分字符串。然后将String数组中的每个元素解析为新数组

String[] s=str.split("\\D+");
int[] intarray=new int[s.length];
for(int i=0;i<s.length;i++){
   intarray[i]=Integer.parseInt(s[i]);
}

【讨论】:

    【解决方案2】:

    只需根据一个或多个非数字字符拆分您的输入,然后将每个元素的数据类型转换为整数。

    String[] parts = str.split("\\D+");
    

    【讨论】:

      【解决方案3】:
      String[] numbers = str.split(",");
      

      然后将int[]Integer.parseInt(numbers[i]); 逐一添加

      如果您不知道输入字符串的确切大小,我建议为此使用 ArrayList。如果您知道会有 4 个值,那么请使用数组。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-29
        • 2013-09-18
        • 2020-09-22
        • 1970-01-01
        相关资源
        最近更新 更多