我有一组文本文档,其中包含多种语言的文本.
对于我读过的每一行,我必须找出它所写的语言.这仅限于三种语言,即英语,印地语(U + 0900-U + 097F)和泰卢固语(U + 0C00-U + 0C7F) .
如何让程序过滤不同脚本的行?
Mar*_*ers 11
max()用于选择使用的最高代码点,然后将其与您的范围匹配:
def detect_language(line):
maxchar = max(line)
if u'\u0c00' <= maxchar <= u'\u0c7f':
return 'telugu'
elif u'\u0900' <= maxchar <= u'\u097f':
return 'hindi'
return 'english'
Run Code Online (Sandbox Code Playgroud)
演示:
>>> detect_language(u'Hello world!')
'english'
>>> detect_language(u'?????')
'telugu'
>>> detect_language(u'??????')
'hindi'
Run Code Online (Sandbox Code Playgroud)