Python排除特殊字符和非英语字母
我正在为Python制作刮擦脚本。 我不想刮擦非英语字母和特殊字符。
我正在使用此代码来摆脱我不需要的大多数符号/字符/标志:
emoji_pattern = re.compile("["
u"\U0001F600-\U0001F64F" # emoticons
u"\U0001F300-\U0001F5FF" # symbols & pictographs
u"\U0001F680-\U0001F6FF" # transport & map symbols
u"\U0001F1E0-\U0001F1FF" # flags (iOS)
u"\U00002500-\U00002BEF" # chinese char
u"\U00002702-\U000027B0"
u"\U00002702-\U000027B0"
u"\U000024C2-\U0001F251"
u"\U0001f926-\U0001f937"
u"\U00010000-\U0010ffff"
u"\u2640-\u2642"
u"\u2600-\u2B55"
u"\u200d"
u"\u23cf"
u"\u23e9"
u"\u231a"
u"\ufe0f" # dingbats
u"\u3030"
"]+", re.UNICODE)
不可忽视的是,此代码仍然忽略了这样的文本:
vɒs səˈvɑːnt
meɪhər ʃælæl ˈhæʃ bɑːz
מַהֵר שָׁלָל חָשׁ בַּז
Mahēr šālāl ḥāš baz
我如何也可以摆脱这些代码?
I am working on a scraping script for python.
I don't want to scrape non-English letters and special characters.
I am using this code to get rid of most symbols/characters/flags that I don't need:
emoji_pattern = re.compile("["
u"\U0001F600-\U0001F64F" # emoticons
u"\U0001F300-\U0001F5FF" # symbols & pictographs
u"\U0001F680-\U0001F6FF" # transport & map symbols
u"\U0001F1E0-\U0001F1FF" # flags (iOS)
u"\U00002500-\U00002BEF" # chinese char
u"\U00002702-\U000027B0"
u"\U00002702-\U000027B0"
u"\U000024C2-\U0001F251"
u"\U0001f926-\U0001f937"
u"\U00010000-\U0010ffff"
u"\u2640-\u2642"
u"\u2600-\u2B55"
u"\u200d"
u"\u23cf"
u"\u23e9"
u"\u231a"
u"\ufe0f" # dingbats
u"\u3030"
"]+", re.UNICODE)
Unforunately this code still ignores text like this:
vɒs səˈvɑːnt
meɪhər ʃælæl ˈhæʃ bɑːz
מַהֵר שָׁלָל חָשׁ בַּז
Mahēr šālāl ḥāš baz
How can I get rid of these as well?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
它过滤了吗?
输出:
我不确定您是否需要标点符号。如果不是 - 使用此模式[^\ sa-Za-Z0-9]
Does it filter enough?
Output:
I was not sure if you need punctuation. If not - use this pattern [^\sA-Za-z0-9]