为了账号安全,请及时绑定邮箱和手机立即绑定

已成功将数据中的\n投票替换为“ ”,但无法执行两次来删除\n投票

已成功将数据中的\n投票替换为“ ”,但无法执行两次来删除\n投票

白猪掌柜的 2023-10-25 10:33:14
问题介绍 语言版本: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


查看完整回答
反对 回复 2023-10-25
  • 1 回答
  • 0 关注
  • 105 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信