2017-08-12 71 views
1
tweets = re.findall(r "'text':+.*'truncated'", tweets) 

print (tweets) 

「文」:「RT @premierleague:@韋恩·魯尼的追逐是」,「截斷」:使用正則表達式來檢索特定文本

我有文字的像繩子上面,我想要檢索位於'text': and 'truncated'之間的推文。

我寫上面的代碼,但收到我使用findall的鳴叫重複錯誤消息

tweets = re.findall(r "'text':+.*'truncated'", tweets) 
               ^
SyntaxError: invalid syntax 

,我想檢索所有從findall搜索的tweet。

謝謝。

+2

你確定你不想利用你的字符串的json結構並使用'json'模塊嗎? – Jacquot

回答

1

無效的語法錯誤是由於r之間的正則表達式的空白:

tweets = re.findall(r"'text':+.*'truncated'", tweets) 
print(tweets) 

回報:

['\'text\': "RT @premierleague: \xf0\x9f\x94\xb5 @WayneRooney\'s chase is on \xf0\x9f\x91\x80", \'truncated\''] 

只提取文本:

tweets = re.findall(r"'text':+(.*)'truncated'", tweets) 
print(tweets) 

退貨:

"RT @premierleague: @WayneRooney's chase is on ", 
+0

是的,你也可以使用圓形的文件夾來獲取文本。 – decadenza

+0

感謝您的領導r.e.白色的空間。我預計它會刪除我不想要的所有文本,但它只是返回了api搜索。 –

+0

@LukeSimpson我更新了上面的答案以僅檢索文本。請注意,如果可能的話解析JSON可能會更容易一些(在Python中使用'json.loads')。 – pchaigno

相關問題