2013-07-17 6 views
1

Допустим, есть строка:Извлечение целых чисел из строки

String numbers = "123 11 4392034 2"; 

и вы хотите получить каждое целое число в строке (разделенных пробелами). Каков наилучший способ сделать это?

+0

Я думал сделать подстроку (0, numbers.indexOf (пробел), то делая число = numbers.substring (IndexOf); –

+0

http://stackoverflow.com/questions/5524243/java-string -split –

+0

Спасибо, этот вопрос немного проясняет ситуацию. –

ответ

6

split() пространством и Integer.parseInt() на каждом элементе массива

2
String numbers = "123 11 4392034 2"; 
String [] num = numbers.split(" "); 

Затем использовать этот метод для retrive массива целых чисел:

public int[] getIntegerArray(String[] numbers) throws NumberFormatException { 
    if (numbers!= null) { 
     int intarray[] = new int[numbers.length]; 
     for (int i = 0; i < numbers.length; i++) { 
      intarray[i] = Integer.parseInt(numbers[i]); 
     } 
     return intarray; 
    } 
    return null; 
} 
0
String[] tokens = "123 234".split("\\s") 

for(String token : tokens){ 
    println Integer.parseInt(token) 
} 

Ссылки:

  1. Запуск заводной сценария: http://groovyconsole.appspot.com/script/1031001
  2. Java класс Узор на http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html
  3. Java регулярное выражение учебник по http://docs.oracle.com/javase/tutorial/essential/regex

Notes

  1. \ s обозначает белый класс пространство символов, [\ т \ п \ x0B \ е \ г]. Экстра '\', чтобы избежать первого, поскольку '\' сам является escape-символом. См. http://docs.oracle.com/javase/tutorial/java/data/characters.html.
Смежные вопросы