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

JS读取文本文件多行内容并按#VER开头行分割片段的方法咨询

实现思路
  • 按行读取文件全部内容,先跳过开头的#DATA相关行与空行,直到匹配到第一个#VER开头的行
  • 初始化两个变量:result存储所有分割完成的片段,current_segment存储当前正在收集的片段内容
  • 逐行遍历文本:
    • 若当前行以#VER开头,先判断current_segment是否有内容,如果有就把它存入result并清空current_segment,再把当前#VER行加入current_segment
    • 若当前行不是#VER开头,只要current_segment已经开始收集(即已经遇到过第一个#VER行),就直接把当前行加入current_segment
  • 遍历结束后,把最后一个未存入的current_segment加入result即可
实现代码(Python示例)
# 替换为你的实际文件路径
file_path = "test.txt"
with open(file_path, "r", encoding="utf-8") as f:
    all_lines = f.readlines()

result = []
current_segment = []

for line in all_lines:
    # 跳过开头未匹配到#VER之前的无关行
    if not current_segment and not line.lstrip().startswith("#VER"):
        continue
    # 匹配到新的VER段起始行
    if line.lstrip().startswith("#VER"):
        if current_segment:
            result.append(current_segment)
            current_segment = []
    # 写入当前行到正在收集的片段
    current_segment.append(line.rstrip("\n"))

# 补充写入最后一个VER段
if current_segment:
    result.append(current_segment)

# 后续可直接遍历result处理每个片段
for seg in result:
    # 此处替换为你自己的逐行处理逻辑
    print("=== 新片段 ===")
    for row in seg:
        print(row)

这种逐行处理的逻辑不需要处理正则匹配的跨行问题,稳定性更高,适配你给出的文件结构,分割后的每个片段都包含从#VER行到下一个#VER前一行的所有内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 05:57:02