我在线寻找解决方案,但我找不到任何解决方案。
我想验证输入字符串并检查它是否只包含ALLOWED字符。
我的问题是,我有“特殊”字母,其中包含“ěščřžýáí”。
对于普通英文字母,我可以使用正则表达式A-Za-z
。
但是用什么来快速检查我的语言?
我的语言包含以下字符:
String ALLOWED_CHARS = "AÁBCČDĎEÉĚFGHChIÍJKLMNŇOÓPQRŘSŠTŤUÚŮVWXYÝZŽaábcčdďeéěfghchiíjklmnňoópqrřsštťuúůvwxyýzž";
感谢您的建议!
答案 0 :(得分:3)
您应该使用string.matches(“[”+ ALLOWED_CHARS +“] *”)进行此检查,例如:
String ALLOWED_CHARS = "AÁBCČDĎEÉĚFGHChIÍJKLMNŇOÓPQRŘSŠTŤUÚŮVWXYÝZŽaábcčdďeéěfghchiíjklmnňoópqrřsštťuúůvwxyýzž";
String s1 = "ĎE88É";
boolean flag1 = s1.matches("[" + ALLOWED_CHARS +"]*"); // false
String s2 = "ĎEÉ";
boolean flag2 = s2.matches("[" + ALLOWED_CHARS +"]*"); // true