检查角色是否是俄语

时间:2017-06-27 20:30:42

标签: go unicode cyrillic

我想知道一个字符串是否包含俄语/西里尔字符。

对于拉丁字符,我做这样的事情(伪代码):

text := "test"
for _, r := range []rune(text) {
    if r >= 'a' && r <= 'z' {
        return True
    }
}
return False

俄语/西里尔字母表的相应方法是什么?

2 个答案:

答案 0 :(得分:12)

这似乎有效

unicode.Is(unicode.Cyrillic, r) // r is a rune

答案 1 :(得分:1)

我继续根据this Unicode chart找到俄语大写字母的示例实现:

func isRussianUpper(text string) bool {
    for _, r := range []rune(text) {
        if r < '\u0410' || r > '\u042F' {
            return false
        }
    }
    return true
}

你可以这样做任何一组角色。只需修改您感兴趣的字符代码即可。