鱼C论坛

 找回密码
 立即注册
查看: 2899|回复: 3

文档中出现重复段落,并对段落中的信息提取

[复制链接]
发表于 2023-10-18 17:44:34 | 显示全部楼层
您可以使用Python的正则表达式库(re)来解决这个问题。以下是一个示例代码,可以帮助您提取*D_NET到*END之间的内容,包括*CAP到*RES和*RES到*END之间的内容:

  1. import re

  2. # 假设您的文档内容存储在变量text中
  3. text = """
  4. *D_NET
  5. Some content here
  6. *CAP
  7. Content between CAP and RES
  8. *RES
  9. Content between RES and END
  10. *END
  11. """

  12. # 使用正则表达式找到*D_NET到*END之间的所有内容
  13. matches = re.findall(r'\\*D_NET(.*?)\\*END', text, re.DOTALL)

  14. # matches现在包含了所有匹配的内容,每个匹配都是一个字符串
  15. for match in matches:
  16.     # 再次使用正则表达式,分别找到*CAP到*RES和*RES到*END之间的内容
  17.     cap_to_res = re.search(r'\\*CAP(.*?)\\*RES', match, re.DOTALL)
  18.     res_to_end = re.search(r'\\*RES(.*?)\\*END', match, re.DOTALL)

  19.     if cap_to_res:
  20.         print("Content between *CAP and *RES:")
  21.         print(cap_to_res.group(1).strip())  # 使用group(1)获取匹配的内容,使用strip()去除前后的空白字符

  22.     if res_to_end:
  23.         print("Content between *RES and *END:")
  24.         print(res_to_end.group(1).strip())
复制代码


这个代码首先找到所有*D_NET到*END之间的内容,然后对每个匹配的内容,再分别找到*CAP到*RES和*RES到*END之间的内容。注意,这个代码假设*CAP和*RES,*RES和*END之间的内容不会包含这些标记本身。如果实际情况不是这样,您可能需要修改正则表达式以适应您的需求。
请注意,本回答来自GPT-4
如果问题已经解决,请设置最佳答案
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-22 03:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表