在python语言中,提取非英语单词

2024-10-03 00:23:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个文本文件,有英文字符和其他语言字符。 使用下面的代码,我想从这个文件中提取一些不是英语的单词 尤其是朝鲜语(Unicode范围从UTF-8的AC00到D7AF)

在这段代码中有没有办法做到这一点??在

我还需要做点别的吗?在

....
text = f.read()
words = re.findall(r'\w+', dataString)
f.close()
....

Tags: 文件代码textre语言readunicode字符
2条回答

要查找范围从AC00到D7AF的所有字符:

import re

L = re.findall(u'[\uac00-\ud7af]+', data.decode('utf-8'))

要查找所有非ascii字:

^{pr2}$

使用大写\W=匹配字母数字字符,不包括_。在

>>> re.findall('[\W]+', u"# @,  ►(Q1)-grijesh b  ►((Qf)), ");
[u'# @,  \u25ba(', u')-', u' ', u'  \u25ba((', u')), ']

From:Unicode HOWTO?要读取unicoded文本文件,请使用:

^{pr2}$

我有个档案:

^{3}$

从Python中读取:

>>> import re
>>> import codecs
>>> f = codecs.open('file', encoding='utf-8')
>>> for l in f:
...  print re.findall('[\W]+', l)
... 
[u'# @,  \u25ba(', u')-', u' ', u'  \u25ba((', u')),\n']
>>> 

读字母单词

>>> f = codecs.open('file', encoding='utf-8')
>>> for l in f:
...  print re.findall('[^\W]+', l)
... 
[u'Q1', u'grijesh', u'b', u'Qf']

注意:小\w匹配字母数字字符,包括_。在

相关问题 更多 >