python – 使用正则表达式替换单词不会工作

帖子文字是推文列表.我想用“URL”替换每条推文中的网址.但是当我打印“post_text”时,我看到没有任何改变,虽然当我打印“推文”时,我发现它已被替换.如何在post_text中替换url地址???

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

最佳答案 这个问题正在发生,因为你的tweet变量是一个永远不会被分配回列表的新变量.

请尝试使用列表理解:

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

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

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