如何从字符串中提取数字到一个数组
问题描述:
我需要把存储在字符串中的所有数值到数组:如何从字符串中提取数字到一个数组
String str = "12,1,222,55";
如果我这样做,那么它会合并所有的数字:
str = str.replaceAll("\\D+","");
如何得到这样的事情?:
int[] result = new int[]{12,1,122,55};
答
首先拆分字符串。然后在字符串数组的每个元素解析到新阵列
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]);
}
答
String[] numbers = str.split(",");
并添加数字int[]
与Integer.parseInt(numbers[i]);
如果您不知道输入字符串的确切大小,我建议使用ArrayList为此目的。如果你知道会有4个值,然后去一个数组。
答
只需根据一个或多个非数字字符拆分输入,然后将每个元素的数据类型转换为整数。
String[] parts = str.split("\\D+");
眼望Java文档 – thermite 2015-03-02 16:30:51
string.split和的Integer.parseInt只要不合并。只需将','和隐含元素拆分为int并存储一个数组。 – 2015-03-02 16:31:16