用正则表达式替换一个单词不会工作

时间:2017-08-17 01:35:07

标签: python regex

帖子文字是推文列表。我想用" URL"替换每条推文中的网址地址。但是当我打印" post_text"时,我看到没有任何改变,尽管当我打印"推特"我发现它已经被取代了。如何在post_text ???

中替换url地址
for tweet in post_text:
    tweet=re.sub(r'http\S*', "URL", tweet)

1 个答案:

答案 0 :(得分:7)

这个问题正在发生,因为您的tweet变量是一个永远不会被分配回列表的新变量。

尝试使用列表理解:

post_text = [re.sub(r'http\S*', "URL", tweet) for tweet in post_text]

或者您可以在循环期间使用enumerate来使用项索引。如果您的循环比问题中的循环更复杂,则建议使用此方法:

for i, tweet in enumerate(post_text):
    post_text[i] = re.sub(r'http\S*', "URL", tweet)