如何使用java验证字符串

时间:2015-11-28 16:21:44

标签: java regex string

我在线寻找解决方案,但我找不到任何解决方案。

我想验证输入字符串并检查它是否只包含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ž";

感谢您的建议!

1 个答案:

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