【发布时间】:2014-11-25 22:10:50
【问题描述】:
Apache Commons CharSet 类有自己的syntax for characters to be included in the set。在该语法中,插入符号 (^) 具有特殊含义(否定),但没有任何文档说明如何在集合本身中包含插入符号而不否定其后面的字符。 例如,以下意外返回 false:
CharSet.getInstance("!@#$%^&").contains('&');
有趣的是,以下返回 true,我认为这是一个错误(尽管 JavaDoc 没有指定它应该如何表现):
CharSet.getInstance("!@#$%^&").contains('^')
更新:请参阅下面@Duncan 的评论以了解此行为)
我的问题是,我怎样才能指定一个包含^ 的CharSet 作为字符而不影响集合中的其他字符?
【问题讨论】:
-
你试过前导`\`吗?
-
@sherb,试过了(实际上是 \\ 因为 Java 字符串文字必须转义),但它不起作用。
CharSet没有特别对待 \。
标签: java apache-commons apache-commons-lang