我有一個python腳本,它可以從推文,#標記中刪除RT轉發。現在我想刪除用戶名,也就是說,@ Twitter的@ tweetz:即@符號後跟用戶名其次是:(冒號)..我只是想刪除這樣的用戶:例如,如果推文是「@bugun:MHP'li KemallettinYılmazBank Asya'yayapılanintihardırhttp://t.co/AKxMgMuuSs @bugun http://t.co/fyJbr098tw}」我想刪除@bugun:並得到結果爲「MHP'li Kemallettin耶爾馬茲銀行Asya'yayapılanintihardırhttp://t.co/AKxMgMuuSs @bugun http://t.co/fyJbr098tw」從鳴叫中刪除用戶
這是我從鳴叫哈希和RT移除代碼:
# coding:utf-8
import sys, re
x = open("test.txt", "r")
for line in x:
z = lambda line: re.compile('\#').sub('', re.compile('RT @').sub('@', line, count=1).strip())
print z(line)
saveFile = open("test_result.txt", "a")
saveFile.write(z(line))
saveFile.write("\n")
saveFile.close()
不知道鳴叫的一部分,但如果'@'保證是一個用戶,一個簡單的正則表達式,比如'@ [^:] + :'是你所需要的。 – sln 2014-11-03 21:49:46
在你的例子中'^ @ \ w +:'只會捕獲第一個用戶名 – Tico 2014-11-03 21:51:28