从推文中删除#和RT

时间:2014-10-27 18:57:26

标签: python twitter

我有数百万条推文,我想从推文中删除"#""RT"。例如:"RT @ABC: Meslekten ihraç edilen #polis müdürü Murat Çetiner"应该输出" @ABC: Meslekten ihraç edilen polis müdürü Murat Çetiner"

以下是我现在的代码:

# coding:utf-8
import sys
x = "RT @zamancomtr: Meslekten ihraç edilen polis müdürü Murat Çetiner: Bana takdir belgesi veren     BM de mi paralel? http://t.co/sd5N6yaZzv http:…"
y = ' '.join(re.sub("(@[A-Za-z0-9]+)|([^0-9A-Za-z \t])|(\w+:\/\/\S+)"," ",x).split())
print y

1 个答案:

答案 0 :(得分:0)

您可以使用下一个代码:

z = lambda x: re.compile('\#').sub('', re.compile('RT @').sub('@', x, count=1).strip())
print z(x)

首先re.compile('RT @').sub('@', x, count=1)替换昵称前的第一个'RT'。如果您想在帖子中删除转发标签的任何情况,只需从代码中删除count=1即可。有必要使用掩码'RT @',因为'RT'可能出现在推文正文中。

同样,re.compile('\#')会从推文中删除所有主题标签。