问题介绍 语言版本: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
提交
取消