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

如何使用C#修改TXT文件中匹配指定条件行的特定字段内容

C# 替换TXT文件指定行指定字段解决方案

问题原因

  • 仅修改了内存中拆分后的字段数组,没有同步更新到存储所有行的数组中
  • 不应该在循环内部直接调用File.Create操作原文件,该方法会直接清空原有文件内容,仅写入新输入的内容,导致其他行数据丢失

实现逻辑

先将文件所有内容读取到内存完成全量修改,再一次性将所有内容写回原文件,避免频繁IO和覆盖问题。

完整可运行代码

// 读取文件所有行到内存数组
string[] allLines = File.ReadAllLines(@"C:\folder\Game.txt");

for (int i = 0; i < allLines.Length; i++)
{
    // 匹配包含目标邮箱的行
    if (allLines[i].Contains("rick@gmail.com"))
    {
        string[] fields = allLines[i].Split(' ');
        // 替换第4个字段(数组索引从0开始)
        fields[3] = "helmet";
        // 拼接回整行,更新到内存的行数组中
        allLines[i] = string.Join(" ", fields);
    }
}

// 所有修改完成后,一次性将所有行写回原文件
File.WriteAllLines(@"C:\folder\Game.txt", allLines);

注意事项

  • 操作前建议先备份原文件,避免逻辑错误导致数据丢失
  • 确保程序对目标文件路径有读写权限
  • 如果字段之间的分隔符不是单个空格,需要调整Split方法的参数适配实际分隔规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 15:24:02