从推文中去掉#和RT
我有数百万条推文,我想把推文中的 "#"
和 "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
你可以使用下面的代码:
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('\#')
这段代码会把推文中的所有话题标签(#号)都去掉。