2015-03-02 3 views
-5

мне нужно поместить все числовые значения, сохраненные в виде строки в массив:Как извлечь числа из строки в массив

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

Если я сделаю это, то он будет объединить все номера:

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

Как получить что-то вроде этого ?:

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

взгляд вверх String.split и Integer.parseInt в ява документы – thermite

+1

Просто не сливаются. Просто разделите ',' и скрытый элемент на int и сохраните массив. –

ответ

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+"); 
Смежные вопросы