如何检查以确保字符串可以包含的唯一特殊字符是逗号?
testString = "123,34565,222" //OK
testString = "123,123.123." //Fail
最佳答案
基于@Simeon 正则表达式的完整工作示例。这会重用单个 Matcher
对象,如果需要频繁进行检查,建议使用该对象。
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class OnlyLettersDigitsCommas {
//"": Dummy search string, to reuse matcher
private static final Matcher lettersCommasMtchr = Pattern.
compile("^[a-zA-Z0-9,]+$").matcher("");
public static final boolean isOnlyLettersDigitsCommas(String to_test) {
return lettersCommasMtchr.reset(to_test).matches();
}
public static final void main(String[] ignored) {
System.out.println(isOnlyLettersDigitsCommas("123,34565,222"));
System.out.println(isOnlyLettersDigitsCommas("123,123.123."));
}
}
输出:
[C:\java_code\]java OnlyLettersDigitsCommas
true
false
关于Java检查字符串只允许逗号作为特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22813367/