提取井號標籤,我處理了一些微博在選舉期間我挖掘,我需要一種方法來提取鳴叫文本主題標籤,同時考慮標點符號,非Unicode字符等,同時仍保留在主題標籤輸出的列表。Python的正則表達式表達從文本
例如,從鳴叫的一部開拓創新的文字是這樣的:
我和她在一起! #NeverTrump #DumpTrump#imwithherðŸ‡ð🇸@威廉斯堡,布魯克林
當在python中變成一個字符串(甚至放入本站的代碼塊)時,結尾處的特殊字符被改變,產生這個:
"I'm with HER! #NeverTrump #DumpTrump #imwithherdY\xd8\xa7dY\xd8, @ Williamsburg, Brooklyn"
現在我想解析字符串變成一個列表如下:
['#NeverTrump','#DumpTrump', '#imwithher']
我目前使用這個表達式,其中str是上面的字符串:
tokenizedTweet = re.findall(r'(?i)\#\w+', str, flags=re.UNICODE)
不過,我得到這個作爲輸出:
['#NeverTrump', '#DumpTrump', '#imwithherdY\xd8']
我怎麼會在我的正則表達式佔「DY \ XD8」將它排除在外? 我也接受其他不涉及正則表達式的解決方案。
我認爲'#imwithherdY \ XD8 \ xa7dY \ xd8'已滿hastag,不'」 #imwithherdY \ xd8''或'#imwithher''。它給'#imwithherdYاdYØ' – furas
可能是一個愚蠢的問題,但有什麼特別之處'dY',我們怎麼能確定它從一個普通的字? –
@SebastianProske編輯我的問題,以澄清爲什麼'dY'是存在的。 – purelyp93