从tex中提取hashtags的Python正则表达式

2024-10-01 19:33:00 发布

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

我正在处理我在选举期间挖掘的一些tweet,我需要一种从tweet文本中提取hashtags的方法,同时计算标点符号、非unicode字符等,同时仍然保留输出列表中的hashtag。在

例如,来自tweet的原始文本如下所示:

我和她在一起!#永远不要在布鲁克林威廉斯堡

或者把这个站点附近的字符串变成一个特殊的代码块,或者把它变成一个特殊的代码块:

"I'm with HER! #NeverTrump #DumpTrump #imwithherdY\xd8\xa7dY\xd8, @ Williamsburg, Brooklyn"

现在我想把字符串解析成这样的列表:

^{pr2}$

我当前使用的表达式中str是上面的字符串:

tokenizedTweet = re.findall(r'(?i)\#\w+', str, flags=re.UNICODE)

但是,我得到的输出是:

['#NeverTrump', '#DumpTrump', '#imwithherdY\xd8']

如何在正则表达式中解释'dY\xd8'以排除它? 我也对其他不涉及regex的解决方案持开放态度。在


Tags: 方法字符串代码文本re列表unicodetweet
1条回答
网友
1楼 · 发布于 2024-10-01 19:33:00

是啊,关于不涉及正则表达式的解决方案。;)

# -*- coding: utf-8 -*-
import string 
tweets = []

a = "I'm with HER! #NeverTrump #DumpTrump #imwithher🇺🇸 @ Williamsburg, Brooklyn"

# filter for printable characters then
a = ''.join(filter(lambda x: x in string.printable, a))

print a

for tweet in a.split(' '):
    if tweet.startswith('#'):
        tweets.append(tweet.strip(','))

print tweets

还有塔达:【“永不放弃”、“Ť废特朗普”、“#我和她在一起”】

相关问题 更多 >

    热门问题