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

Ash*_*row 0 python unicode

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

例如:

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

has*_*e55 5

这是一个单线程(Python 3.X) -

import unicodedata
langname = lambda x : unicodedata.name(x[0]).split(' ')[0]
Run Code Online (Sandbox Code Playgroud)

输出 -

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

>>> langname('????')
'HIRAGANA'
Run Code Online (Sandbox Code Playgroud)