How to account for accent characters for regex in Python?
我目前使用re.findall来查找和隔离字符串中哈希标记的""字符后的单词:
1 | hashtags = re.findall(r'#([A-Za-z0-9_]+)', str1) |
它搜索str1并找到所有的hashtags。但是,它不能解释像这样的重音字符:
如果这些字母中有一个在str1中,它将保存hashtag直到前面的字母。例如,
我需要能够解释所有重音字母,包括德语、荷兰语、法语和西班牙语,这样我可以保存像
我该怎么做呢
试试下面的:
1 | hashtags = re.findall(r'#(\w+)', str1, re.UNICODE) |
regex101演示
编辑 有用的检查下面的评论从皮特斯马丁。
我想你可能也使用
1 2 | import unicodedata output = unicodedata.normalize('NFD', my_unicode).encode('ascii', 'ignore') |
怎么在所有这些人物convert逃跑到他们各自的人物类的岩石,有个Unicode,在convert怎么到这一标准? 你有assume'载你到Unicode Unicode变量称为我的_…normalizing到,这是一个简单的……
进口unicodedata 输出unicodedata.normalize(NFD),我的_(Unicode).encode ASCII"、"别理) 明确的实例。
1 2 3 4 5 | myfoo = u'àà' myfoo u'\xe0\xe0' unicodedata.normalize('NFD', myfoo).encode('ascii', 'ignore') 'aa' |
检查这一回答它帮助我很多:如何convert重音字符的Unicode字符的两个accents没有?