2016-05-05 43 views
-2

數字和逗號,我想檢查是否一些字符串只包含數字和逗號,例如:檢查字符串只包含在Java中

字符串:12,312,312,3212,3111應該確定 字符串:FE ,32,423,4,dsd - 應該不正確。

+1

[Crazy google result](https://www.google.es/?client=firefox-b-ab#q=Check+if+String+contain+only+數字+和+逗號+在+ Java和gfe_rd = cr) –

+0

你可以使用一個非常基本的正則表達式... –

+0

你到現在爲止嘗試了什麼? –

回答

3

試試這個正則表達式..

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