Apache Commons CharSet 类对于要包含在集合中的字符有自己的语法。在该语法中,插入符号 (^) 具有特殊含义(否定),但没有任何文档说明如何在集合本身中包含插入符号而不否定其后面的字符。例如,以下意外返回 false:
CharSet.getInstance("!@#$%^&").contains('&');
有趣的是,以下返回 true,我认为这是一个错误(尽管 JavaDoc 没有指定它的行为方式):
CharSet.getInstance("!@#$%^&").contains('^')
更新:请参阅下面@Duncan 的评论以了解此行为)
我的问题是,如何在不影响集合中其他字符的情况下指定一个CharSet
包含字符的字符?^