2014-02-13 34 views
1

我看,上面寫着像一些遺留代碼:番石榴CharMatcher - 擴展ASCII定義

CharMatcher.ASCII.retainFrom(content) 

因此,西班牙語特殊字符過濾掉。我需要更新這個邏輯,所以西班牙語字符也包括在內。有沒有人知道這個Guava/CharMatcher解決方案?

我可以看到我可以使用類似:

CharMatcher.inRange('\0', '\u017f'); 

,但西班牙字符分散(隨機?)通過字符集(因此是「INRANGE」的解決方案會拉在其它非西班牙字符大於127)。

謝謝! 達明

回答

5

您可以創建自己的CharMatcher很容易的東西,如:

private static final CharMatcher MATCHER = CharMatcher.ASCII.or(
    CharMatcher.anyOf(<string containing other characters you want to match>)); 
+0

他可能需要一串'inRange'與'or's結合的字符串。 –

2

如果有一個簡單的方法來測試,如果一個字符是一個特殊的西班牙字符,你可以做

CharMatcher.ASCII.or(new CharMatcher() { 
    @OVerride public boolean matches(char c) { 
    return // character is Spanish, however you want to check that 
    } 
});