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

C#实现删除文本文件中无后续内容的Length行

移除文件中Length后无内容的行

嘿,我懂你现在的需求——之前你是给那些Length后面没值的行补个0,现在想直接删掉这类行对吧?咱们来调整下代码逻辑就行。

首先明确要删除的行的特征:行内包含Length,并且Length是这一行的最后一个有效元素(也就是它后面没有其他内容了)。基于这个判断,我们可以用LINQ的过滤功能来实现:

// 读取源文件的所有行
var originalLines = System.IO.File.ReadAllLines(strLabelExportPreLenAdjust);

// 过滤掉不符合要求的行
var filteredLines = originalLines.Where(line => 
{
    // 按空格分割行内容,同时去掉空元素(处理连续空格的情况)
    var lineParts = line.Split(' ', StringSplitOptions.RemoveEmptyEntries);
    // 找到"Length"在分割后的数组中的位置
    int lengthPosition = Array.IndexOf(lineParts, "Length");
    
    // 保留的条件:要么行里没有"Length",要么"Length"后面还有其他内容
    return lengthPosition == -1 || (lengthPosition + 1 < lineParts.Length);
});

// 将过滤后的行写入目标文件
System.IO.File.WriteAllLines(strLabelExportTotal, filteredLines);

代码说明:

  • 用Split(StringSplitOptions.RemoveEmptyEntries)是为了避免连续空格导致分割出空字符串,干扰我们判断Length后面是否有内容。
  • 核心逻辑是检查:如果行里存在Length,那它的索引必须不是数组的最后一位(也就是后面还有元素),这样的行才会被保留;反之就会被过滤掉(也就是删除)。

这样处理后,你就能得到想要的结果:

Name Peter Length 185
Name Susan
Name Harry Length 177

内容的提问来源于stack exchange,提问作者Tomas Nordström

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:30:50