【发布时间】:2017-07-12 00:13:35
【问题描述】:
我有一个包含单词的keys 列表。当我发出这个命令时:
for key in keys:
print(key)
我在终端得到正常输出。
但是当我使用print(keys) 打印整个列表时,我得到了这个输出:
我尝试过使用key.replace("\u202c", '')、key.replace("\\u202c", '')、re.sub(u'\u202c', '', key),但没有一个能解决问题。
我也尝试了这里的解决方案,但它们都没有奏效:
Replacing a unicode character in a string in Python 3
Removing unicode \u2026 like characters in a string in python2.7
Python removing extra special unicode characters
How can I remove non-ASCII characters but leave periods and spaces using Python?
我使用 Beautiful Soup 从 Google 趋势中抓取了这个,并从 get_text() 检索了文本
同样在Google Trends Page的页面源码中,列出的词如下:
【问题讨论】:
-
@OferSadan 我刚试过这个,得到与问题相同的输出。
-
在生成后对列表中的每个项目执行
sub(r'\p{Block=General_Punctuation}+','')。或者,您可以使用范围[\u2000-\u206F]+,即块。见compart.com/en/unicode/block/U+2000
标签: python regex string unicode