我正面临一个问题.实际上,我使用越南文本,我想找到包含大写字母(大写字母)的每个单词.当我使用're'模块时,我的函数(temp)不会像"Đà"那样捕捉到单词.另一种方式(temp2)是一次检查每个字符,它可以工作,但它很慢,因为我必须将句子分成单词.
因此,我想知道是否有一种"重新"模块可以捕获所有特殊的大写字母.
我有两种方式:
def temp(sentence):
return re.findall(r'[a-z]*[A-Z]+[a-z]*', sentence)
lis=word_tokenize(sentence)
def temp2(lis):
proper_noun=[]
for word in lis:
for letter in word:
if letter.isupper():
proper_noun.append(word)
break
return proper_noun
Run Code Online (Sandbox Code Playgroud)
输入:
'nous avons 2 ??ng et 3 Euro'
Run Code Online (Sandbox Code Playgroud)
预期产量:
['??ng','Euro']
Run Code Online (Sandbox Code Playgroud)
谢谢!
你可以使用这个正则表达式:
\b\S*[A?ÂÁ??À?????Ã??????EÊÉ?È???????IÍÌ???OÔ?Ó??Ò?????Õ?????U?Ú?Ù???????YÝ????A?ÂÁ??À?????Ã??????EÊÉ?È???????IÍÌ???OÔ?Ó??Ò?????Õ?????U?Ú?Ù???????YÝ????A?ÂÁ??À?????Ã??????EÊÉ?È???????IÍÌ???OÔ?Ó??Ò?????Õ?????U?Ú?Ù???????YÝ????A?ÂÁ??À?????Ã??????EÊÉ?È???????IÍÌ???OÔ?Ó??Ò?????Õ?????U?Ú?Ù???????YÝ????A?ÂÁ??À?????Ã??????EÊÉ?È???????IÍÌ???OÔ?Ó??Ò?????Õ?????U?Ú?Ù???????YÝ????A?ÂÁ??À?????Ã??????EÊÉ?È???????IÍÌ???OÔ?Ó??Ò?????Õ?????U?Ú?Ù???????YÝ????A-Z]+\S*\b
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
563 次 |
| 最近记录: |