我想检查一些字符串是否只包含数字和逗号,例如:
字符串:12,312,312,3212,3111应该没问题 字符串:fe,32,423,4,dsd - 应该是不正确的。
答案 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
}
}