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

如何解析文本文件提取点号后的唯一值生成去重列表

实现方案

整个逻辑拆成3个核心步骤即可:

  • 读取全部待解析的文本内容,支持直接传入字符串或者读取本地txt文件内容
  • 匹配所有紧跟在英文.后面的英文字段,自动过滤重复内容
  • 按字段首次出现的顺序整理成最终列表

Python 可直接运行的实现代码

import re

# 原始待解析文本,需要读本地文件时替换这部分逻辑即可
raw_content = """If MARA.MTART in ('ZPLW', 'ZFTW'), then MARA.PSTAT like '%K%'
If MARA.MTART in ('ZPLW', 'ZFTW'), then MARA.MATKL = '99999999'
"""

# 正则提取点号后的连续字段名
find_result = re.findall(r'\.([A-Za-z0-9_]+)', raw_content)
# 去重并保留字段首次出现的顺序
final_list = list(dict.fromkeys(find_result))

print(final_list)

运行后输出结果完全符合预期:

['MTART', 'PSTAT', 'MATKL']

关键说明

  • 正则规则r'\.([A-Za-z0-9_]+)'只会捕获.后面连续的字母、数字、下划线组成的字段名,不会把点号或者其他无关符号带进结果
  • 如果不需要保留字段出现顺序,去重部分可以简化成list(set(find_result)),只是输出顺序会随机
  • 读取本地txt文件的替换逻辑参考:
# 把括号里的路径换成你自己的文本文件实际存储路径
with open('rule.txt', 'r', encoding='utf-8') as f:
    raw_content = f.read()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 14:51:18