我正在查看一些读取的遗留代码:
CharMatcher.ASCII.retainFrom(content)
因此,西班牙语特殊字符被过滤掉。我需要更新这个逻辑,以便包括西班牙语字符。有人知道Guava / CharMatcher的解决方案吗?
我可以看到我可以使用类似的东西:
CharMatcher.inRange('\0', '\u017f');
,但西班牙字符通过字符集分散(随机?)(因此“inRange”解决方案会引入大于127的其他非西班牙语字符。)
谢谢! 达明
答案 0 :(得分:6)
您可以使用以下内容轻松创建自己的CharMatcher
:
private static final CharMatcher MATCHER = CharMatcher.ASCII.or(
CharMatcher.anyOf(<string containing other characters you want to match>));
答案 1 :(得分:2)
如果有一种简单的方法来测试一个角色是否是一个特殊的西班牙语角色,你可以这样做
CharMatcher.ASCII.or(new CharMatcher() {
@OVerride public boolean matches(char c) {
return // character is Spanish, however you want to check that
}
});