在Python中检测字符串的书写系统

时间:2017-02-28 13:27:39

标签: python unicode

是否有一种简单的方法可以检测Python 3中字符串使用的书写系统?

例如:

  • “Yamamoto”→拉丁字母
  • “山本”→汉字
  • “やまもと”→平假名
  • “Ямамото”→西里尔文 等

2 个答案:

答案 0 :(得分:5)

Heres one liner(Python 3.X) -

import unicodedata
langname = lambda x : unicodedata.name(x[0]).split(' ')[0]

输出 -

>>> langname('Yamamoto')
'LATIN'

>>> langname('やまもと')
'HIRAGANA'

答案 1 :(得分:3)

快速谷歌搜索放弃了这个:alphabet-detection

您可以将其用作文档说明:

>>> from alphabet_detector import AlphabetDetector
>>> ad = AlphabetDetector()
>>> ad.detect_alphabet(u'Cyrillic and кириллический')
{'CYRILLIC', 'LATIN'}