2016-05-05 14 views
-2

Я хотел бы проверить, если некоторые строки содержат только цифры и запятые, например:Проверьте, если строка содержит только цифры и запятая в Java

Строка: 12,312,312,3212,3111 должно быть ОК Строка: Fe , 32 423,4, dsd - Должно быть неверным.

+1

[Сумасшедший результат Google] (https://www.google.es/?client=firefox-b-ab#q=Check+if+String+contain+only+ числа + и + comma + in + Java & gfe_rd = cr) –

+0

Вы можете использовать довольно основное регулярное выражение ... –

+0

что вы пробовали до сих пор? –

ответ

3

попробовать этот Regex ..

String regex = "[0-9, /,]+"; 

// Negative test cases, should all be "false" 
System.out.println("1234,234,345a".matches(regex)); //incorrect, So False will be print 
    // positive test cases, should all be "true" 
    System.out.println("1234,234,34".matches(regex)); //Correct, So True will be print 

См Demo Here

+0

спасибо, он отлично работает –

0

Вы можете сделать это с StringTokenizer или Вы можете сделать это с String.split()

String[] tokens= str.split(','); 
for(String token: tokens) { 
    try { 
    Integer.parseInt(token); 
    } catch(Exception e) { 
     // String container non integers 
    } 
} 
1

Это будет делать трюк:

if (!(Pattern.compile("[^0-9,]").matcher(test).find())) { 
    //the string only contains numbers and commas 
} else { 
    //to do if there are invalid characters 
} 

Просто не забудьте импортировать библиотеку java.util.regex.Pattern