如何提取医学文本文件中FINAL REPORT之后的内容?
提取医学报告中FINAL REPORT之后内容的解决方案
以下是几种简单可行的技术实现方式:
1. Python脚本处理
适合批量处理或需要集成到工作流的场景:
# 读取原始报告文件 with open("medical_report.txt", "r", encoding="utf-8") as input_file: full_content = input_file.read() # 定义分割标记 marker = "FINAL REPORT" if marker in full_content: # 截取标记之后的内容并去除首尾空白 extracted_content = full_content.split(marker)[1].strip() # 保存提取后的内容到新文件 with open("extracted_final_report.txt", "w", encoding="utf-8") as output_file: output_file.write(extracted_content) else: print("文件中未找到FINAL REPORT标记")
2. Linux命令行(sed工具)
适合快速处理单个文件:
# 提取FINAL REPORT之后的所有内容,并移除标记所在行 sed -n '/FINAL REPORT/,$p' medical_report.txt | sed '1d' > extracted_report.txt
- 第一个
sed命令:从匹配到FINAL REPORT的行开始,输出到文件末尾的所有内容 - 第二个
sed命令:删除输出结果的第一行(即包含FINAL REPORT的那一行)
3. 文本编辑器可视化处理(VS Code/Notepad++)
适合手动处理少量文件:
- 打开目标报告文件
- 开启正则表达式查找替换功能(VS Code快捷键
Ctrl+H,勾选正则图标;Notepad++快捷键Ctrl+H,选择"正则表达式") - 在查找框输入:
[\s\S]*FINAL REPORT[\s\S]表示匹配所有字符(包括换行符),确保能选中从文件开头到FINAL REPORT的全部内容
- 替换框留空,点击"全部替换"即可删除标记之前的内容
内容的提问来源于stack exchange,提问作者user10019553
相关产品推荐
相关产品推荐

