問(wèn)題介紹 語(yǔ)言版本:Python 3.8 操作系統(tǒng):Windows 10 其他相關(guān)軟件:Jupyter Notebook 和 requests-html我正在嘗試從堆棧溢出教程中清理一些已解析的 html 。我成功地將“3\nvotes”替換為“3”。然而,對(duì)于有 1 票的帖子,其結(jié)果仍然是“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我已經(jīng)嘗試過(guò)的其他事情: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預(yù)期結(jié)果是“1 票”實(shí)際結(jié)果:1\nvote我預(yù)計(jì) 1 票,但收到 1/nvote我確實(shí)認(rèn)為我這樣做是正確的,并且不知道我的錯(cuò)誤或任何其他版本的嘗試。有什么建議嗎?
1 回答

阿波羅的戰(zhàn)車
TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超6個(gè)贊
您可以使用正則表達(dá)式從文本中刪除所有非數(shù)字字符,而不是刪除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
添加回答
舉報(bào)
0/150
提交
取消