2014-10-30 4 views
2

У меня есть строкаКак отделить целочисленные числа от строки?

String exp = "7 to 10"; 

теперь я держу условие,

if (exp.contains("to")) 
{ 
    // here I want to fetch the integers 7 and 10 
} 

Как отделить 7 и 10 из строки 7 to 10 (разобранный в Integer).

Используя разделитель, я, очевидно, могу это сделать, но я хочу знать, как это сделать так?

+0

ли ваша строка содержит 'spaces'? '7 10' - значения внутри строки не целые –

+0

Вы хотите сказать, что не хотите использовать' String.split() '? – Tariq

+0

Да, пространство там coz строка «от 7 до 10» .. @SanKrish – suganya

ответ

1

Вот код,

import java.io.*; 

public class test 
{ 
    public static void main(String[] args) { 

     String input="7 to 10";//pass any input here that contains delimeter "to" 
     String[] ans=input.split("to"); 

     for(String result:ans) { 
     System.out.println(result.trim()); 
     } 
    } 
} 

Пожалуйста, проверьте и дайте мне знать, если он работает для вас.

+0

thnx..it работал :) – suganya

8

Использование раскол:

if (exp.contains(" to ")) { 
     String[] numbers = exp.split(" to "); 
     // convert string to numbers 
    } 

Использование регулярных выражений:

Matcher mat = Pattern.compile("(\\d+) to (\\d+)").matcher(exp); 
    if (mat.find()) { 
     String first = mat.group(1); 
     String second = mat.group(2); 
     // convert string to numbers 
    } 
+0

Или даже 'if (exp.contains (" to "))' – Bohemian

+0

Или 'if (exp.matches (" (\\ d +) до (\\ d +) ")) {String [] res = exp.split (" to ")}' :) – Willmore

1

Попробуйте ввести следующий код, который будет работать для любой строки.

String test="7 to 10"; 
String tok[]=test.split(" (\\w+) "); 
for(String i:tok){ 
    System.out.println(i); 
} 

Выход:

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