如果字符串包含非法字符,则返回 Java 函数
我有以下字符,我希望被视为“非法”:
~
, , , , , , , , , , , , , , , , ,#
@
*
+
%
{
}
<
>
[
]
|
“
”
\
_
^
我想写一个检查字符串并确定(/)该字符串是否包含以下非法项的方法:true
false
public boolean containsIllegals(String toExamine) {
return toExamine.matches("^.*[~#@*+%{}<>[]|\"\\_^].*$");
}
但是,简单的检查对此是不可行的。我需要该方法来扫描字符串中的每个字符,并确保它不是这些字符之一。当然,我可以做一些可怕的事情,比如:matches(...)
public boolean containsIllegals(String toExamine) {
for(int i = 0; i < toExamine.length(); i++) {
char c = toExamine.charAt(i);
if(c == '~')
return true;
else if(c == '#')
return true;
// etc...
}
}
有没有一种更优雅/更有效的方法来实现这一目标?