Robin C 2020-03-30 15:43 采纳率: 50%
浏览 153

BS对象使用string提取文字,提取不出来

图片说明
这个 【症状】前后有很多 tab空格,然后使用string无法提取出来【症状】二字,如何处理?
我使用的是text强行提取的,但是这样把后面【腰痛】【坐骨神经痛】就一起抽出来了,感觉不标准,如何优雅的把 【症状】二字给提取出来。

  • 写回答

1条回答 默认 最新

  • lshen01 2023-03-17 02:12
    关注

    参考GPT和自己的思路:

    针对这个问题,可以考虑先使用正则表达式来匹配字符串中的【症状】。由于字符串中有很多tab空格,这可能会导致匹配失败。可以先将字符串中的空白字符(包括空格、tab等)去掉。然后再使用正则表达式匹配。

    示例代码如下:

    import re
    
    # 去掉字符串中的空白字符
    text = "                 【症状】腰痛、坐骨神经痛"
    text = re.sub(r'\s', '', text)
    
    # 使用正则表达式匹配 【症状】
    match = re.search(r'【症状】', text)
    if match:
        print(match.group(0))
    

    输出:

    【症状】
    

    这样就可以轻松地提取出【症状】了。如果想要提取出整个症状列表,可以根据匹配到的【症状】的位置来截取字符串,例如:

    # 根据【症状】的位置截取症状列表
    symptoms = text[match.end():]
    print(symptoms)
    

    输出:

    腰痛、坐骨神经痛
    

    这样就可以得到症状列表了。需要注意的是,如果症状列表中也包含了类似的【症状】之类的关键字,可能会导致匹配错误。这时需要根据实际情况进行调整。

    评论

报告相同问题?

悬赏问题

  • ¥15 使用yolov5-7.0目标检测报错
  • ¥15 对于这个问题的解释说明
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥20 java在应用程序里获取不到扬声器设备