4
我想檢測一個字符串是否包含西裏爾字母。如何在Java中檢測字符串是否包含西裏爾字母?
在PHP我做了這樣的事情:
preg_match('/\p{Cyrillic}+/ui', $text)
什麼工作同樣在Java中?
我想檢測一個字符串是否包含西裏爾字母。如何在Java中檢測字符串是否包含西裏爾字母?
在PHP我做了這樣的事情:
preg_match('/\p{Cyrillic}+/ui', $text)
什麼工作同樣在Java中?
嘗試以下操作:
Pattern.matches(".*\\p{InCyrillic}.*", text)
您也可避免正則表達式,並使用類Character.UnicodeBlock
:
for(int i = 0; i < text.length(); i++) {
if(Character.UnicodeBlock.of(text.charAt(i)).equals(Character.UnicodeBlock.CYRILLIC)) {
// contains Cyrillic
}
}
我想表現的更好,如果我避免使用正則表達式?如果它有所作爲,我在Android上。 – knezmilos
@knezmilos我不認爲你會注意到一個很大的區別(這取決於文本的大小 - 你可以嘗試測量兩種方式)。我更喜歡第二種方式,因爲它更清晰。 – manouti