如何检查一个字符是否来自一组特定的字符

How to check whether a char is from a particular set of characters or not

当我需要检查一个未知字符是否属于任何字符集时,我正在做一个 if 语句。预定义或自定义。

我可以做很多 or 陈述,但它会变得混乱。那么是否有任何正则表达式可以做到这一点。 我用了一个 charAt();函数获取 it.I 的最后一位数字,以检查它是否为数字。 我目前只需要数字 (0-9),但我还需要更多。

这是我的 IF 语句

.....
if(mytext.equals("(") && (mytext2.charAt(text.length()-1)=='') {
......
}
.......

请帮忙

您可以像这样使用设置界面:

Set<Character> validChars = new HashSet<>(Arrays.asList('a', 'X, '1'));
if (validChars.contains(unknownChar)) {
  ...

例如。这在理论上为您提供了最佳性能,尽管这在这里无关紧要。

或者,您可以在 "string" 中收集有效字符,如评论所示。然后你使用 thatString.indexOf(unknownChar),如果该方法 return 一个索引 equal/greater 而不是 0,你也知道 "it is valid"。

第三个选项是研究正则表达式,但对于新手,我建议选择选项 1 或 2。

通过使用包含方法

"SetOfCharacters".contains("a")

如果 returns 为真,则 SetOfCharacters 包含一个

您可以将它用于任何字符,无论是数字还是任何其他特殊字符。