問題介紹 語言版本:Python 3.8 操作系統:Windows 10 其他相關軟件:Jupyter Notebook 和 requests-html我正在嘗試從堆棧溢出教程中清理一些已解析的 html 。我成功地將“3\nvotes”替換為“3”。然而,對于有 1 票的帖子,其結果仍然是“1/nvote”。我嘗試更換def clean_scraped_data(text, keyname=None): if keyname == 'votes': return text.replace('\nvotes', '') if '\nvote'in text: return text.replace('\nvote', '') if keyname == 'summary': return text.replace('\nvotes', '') return text我已經嘗試過的其他事情:def clean_scraped_data(text, keyname=None): if keyname == 'votes': return text.replace('\nvotes', '') if text == '1\nvote': return text.replace('\nvote', '') if keyname == 'summary': return text.replace('\nvotes', '') return text預期結果是“1 票”實際結果:1\nvote我預計 1 票,但收到 1/nvote我確實認為我這樣做是正確的,并且不知道我的錯誤或任何其他版本的嘗試。有什么建議嗎?
1 回答

阿波羅的戰車
TA貢獻1862條經驗 獲得超6個贊
您可以使用正則表達式從文本中刪除所有非數字字符,而不是刪除vote//的某些組合:votes\nvotes
import re
def clean_scraped_data(text, keyname=None):
if keyname == 'votes' or keyname == 'summary':
return re.sub("[^0-9]", "", text)
return text
添加回答
舉報
0/150
提交
取消