簡體   English   中英

Python 正則表達式 刪除帶有\的單詞

[英]Python Regex Remove the word with \

我正在對推文進行情緒分析,在數據預處理過程中會彈出一些討厭的項目,如 \xe2\x9c\x8c\ 我正在使用正則表達式刪除 rest 之類的 # 標簽等。但無法刪除這些項目。

我想做的是 select 以\開頭的單詞並將其替換為''。

text = re.sub(r'@[A-Za-z0-9]+', '', text)  # removes the @
text = re.sub(r'#', '', text)  # removes the hashtags
text = re.sub(r'RT[\s]+', '', text)  # removes RT
text = re.sub(r'https?:\/\/\S+', '', text)  # removes hyperlinks

# text=re.sub(r'\\.*$', '', text)

我的其他正則表達式在上面。

我也嘗試過使用 python 但它也不起作用

filter(lambda x:x[0]!='\/', text.split())

不確定這是否是您的意思,但這應該可以

re.sub('\\\\\\S+','','some normal text,#slash/ #backslash\\ \\backslashedtext back to normal')

退貨

'some normal text,#slash/ #backslash\\  back to normal'

為什么?

因為通過簡單地將 '\\' 作為第一個參數傳遞,您可以在 python 字符串中創建反斜杠,因此它會傳遞給正則表達式解析器,但它會將其理解為單個反斜杠,因此是轉義字符。

當您通過 '\\\\' 正則表達式解析器獲取 '\\' 並因此搜索 '\'

所以傳遞 '\\\\\\S+' 正則表達式解析器得到 '\\\S+' 並搜索由多個“非空格”處理的 '\'

作為旁注 "\xe2\x9c\x8c" 看起來像十六進制數字,所以 '\\\\x[0-9a-f]{2}' 正則表達式模式將匹配整個事物

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM