java检查字符串是否只包含某些字符
我有一个字符串,表示由“|”和“:”组成的32个字符长的条形码
我想检查任何给定字符串的有效性,以确保它是条形码。其中一个测试是检查它包含的唯一符号是上面提到的两个。我该怎么查呢
我首先使用了分隔符,但我认为这不是正确的方法
public boolean isValidBarCode (String barCode)
{
barCode.useDelimiter ("[|:]");
if (barCode.length() == 32)
{
return true;
}
else
{
return false;
}
我知道我还需要检查其他一些东西,以便将其验证为条形码,但我只是为了检查给定字符串中的符号
我是一个初学者程序员,因此非常感谢您的帮助
# 1 楼答案
您可以使用正则表达式:
正则表达式的解释:它检查字符串是否由1个或多个字符组成(这是
+
后缀的作用),即:
或|
。我们通常会写[:|]+
,但由于:
和(我认为)|
是正则表达式中的特殊字符,因此需要用反斜杠对它们进行转义。反斜杠必须在字符串文字中转义,因此为双反斜杠或者,您可以简单地使用循环编写5行算法:
# 2 楼答案
由于您要求条形码的长度正好为32个字符,并且只包含:和|个字符,因此应结合使用长度和正则表达式检查:
# 3 楼答案