You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何提取特定格式字符串并优化Python文本提取代码输出

解决文本提取需求:补充提取固定格式的第三项内容

我来帮你搞定这个提取需求!你现在需要把每个段落里那串固定15位、以数字开头字母结尾的第三项内容也提取出来,对吧?我调整了你的Python代码,用更可靠的正则匹配来代替原来的find方法,避免出现意外的匹配错误:

import re

# 读取输入文件内容,用with语句更安全规范
with open("input.txt", "r") as input_file:
    content = input_file.read()

# 匹配每个以JTS开头、以)结尾的完整段落
pattern = r'JTS FF (\S{15}) (.*?)(?=\))'
matches = re.findall(pattern, content)

# 逐个处理匹配到的段落内容
for match in matches:
    third_item = match[0]
    text_section = match[1]
    # 提取所有"-"后面的目标文本,包括最后一项
    target_texts = re.findall(r'-\s*(.*?)(?=\s*-|$)', text_section)
    # 按照目标格式拼接输出
    print(f"JTS,FF,{third_item},{','.join(target_texts)}")

关键调整说明:

  1. 替换了原有的find方法,改用整体正则匹配段落结构,避免出现多匹配、匹配错位的问题
  2. (\S{15})精准捕获那串15位的非空格内容,完全符合你描述的固定格式要求
  3. 调整了提取文本项的正则规则,确保能匹配到最后一个-后的内容(比如第二个段落的text2)
  4. 用with语句管理文件读取,避免出现文件未关闭的隐患

运行后输出结果:

JTS,FF,010000 AAAAAAAA,text1.1,text1.2
JTS,FF,020000 AAAAAAAA,text2

内容的提问来源于stack exchange,提问作者Mohannad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:14:39