2014-09-11 3 views
2

Я ищу способ получить категорию Юникод (RangeTable) от rune в Го. Например, символ a соответствует категории Ll. Пакет unicode определяет все категории (http://golang.org/pkg/unicode/#pkg-variables), но я не вижу способа поиска категории из заданного rune. Нужно ли вручную создавать RangeTable с rune с использованием соответствующих смещений?Получить категорию Юникод из руны

ответ

8

Документы для пакета «Юникод» не имеет метода, который возвращает диапазоны для рун, но это не очень сложно построить один:

func cat(r rune) (names []string) { 
    names = make([]string, 0) 
    for name, table := range unicode.Categories { 
     if unicode.Is(table, r) { 
      names = append(names, name) 
     } 
    } 
    return 
} 
Смежные вопросы