检查String是否仅包含数字和逗号

时间:2016-05-05 09:47:33

标签: java string numbers comma

我想检查一些字符串是否只包含数字和逗号,例如:

字符串:12,312,312,3212,3111应该没问题 字符串:fe,32,423,4,dsd - 应该是不正确的。

3 个答案:

答案 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

答案 1 :(得分: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

答案 2 :(得分:0)

您可以使用StringTokenizer执行此操作,也可以使用String.split()

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