2015-03-14 3 views
0

Предположительно у меня есть строка, которая содержит: hello 14:12.Как извлечь только номер из строки в java?

Теперь я хочу извлечь только число и иметь два отдельных значения в двух переменных: first_num значение должно быть int ie first_num = 14, а вторая переменная должна содержать номер после двоеточия (:), т.е. second_num = 12 .

ответ

2

Вы можете использовать Regex решить проблему

public static List<Integer> extractNumbers(String s){  
     List<Integer> numbers = new ArrayList<Integer>(); 

     Pattern p = Pattern.compile("\\d+"); 
     Matcher m = p.matcher(s); 

     while(m.find()){ 
      numbers.add(Integer.parseInt(m.group())); 
     }  
     return numbers;  
    } 
+0

Спасибо вам братан вы должны решить мою проблему. – Jack

+0

Приветственный Джек :) –

0

ReplaceAll является лучшим решением

String str = "hello 14:12"; 
str = str.replaceAll("[^0-9]+", " "); 
System.out.println(Arrays.asList(str.trim().split(" "))); 

Таким образом, вы можете достичь только числа в массиве.

Смежные вопросы