检查 Java 中的字符串是否只包含数字和逗号
Check if String contain only numbers and comma in Java
我想检查一些字符串是否只包含数字和逗号,例如:
字符串:12,312,312,3212,3111应该可以
字符串:fe,32,423,4,dsd - 应该不正确。
您可以使用 StringTokenizer
或者您可以使用 String.split()
String[] tokens= str.split(',');
for(String token: tokens) {
try {
Integer.parseInt(token);
} catch(Exception e) {
// String container non integers
}
}
试试这个正则表达式..
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
这样就可以了:
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
库
我想检查一些字符串是否只包含数字和逗号,例如:
字符串:12,312,312,3212,3111应该可以 字符串:fe,32,423,4,dsd - 应该不正确。
您可以使用 StringTokenizer
或者您可以使用 String.split()
String[] tokens= str.split(',');
for(String token: tokens) {
try {
Integer.parseInt(token);
} catch(Exception e) {
// String container non integers
}
}
试试这个正则表达式..
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
这样就可以了:
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
库