2015-03-02 102 views
-5

我需要把存儲在字符串中的所有數值到數組:如何從字符串中提取數字到一個數組

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

如果我這樣做,那麼它會合並所有的數字:

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

如何得到這樣的事情?:

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

眼望Java文檔 – thermite 2015-03-02 16:30:51

+1

string.split和的Integer.parseInt只要不合並。只需將','和隱含元素拆分爲int並存儲一個數組。 – 2015-03-02 16:31:16

回答

3

首先拆分字符串。然後在字符串數組的每個元素解析到新陣列

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]); 
} 
1
String[] numbers = str.split(","); 

並添加數字int[]Integer.parseInt(numbers[i]);

如果您不知道輸入字符串的確切大小,我建議使用ArrayList爲此目的。如果你知道會有4個值,然後去一個數組。

2

只需根據一個或多個非數字字符拆分輸入,然後將每個元素的數據類型轉換爲整數。

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