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

C#如何提取文本文件中已知前缀字符串后的对应内容

C# 实现指定前缀内容提取功能

实现思路

  • 逐行读取目标文本文件,避免大文件占用过多内存
  • 预先定义前缀与对应TextBox的映射关系,减少冗余代码
  • 匹配到对应前缀后,截取前缀后的内容,再去除末尾多余的引号、括号、空格即可得到目标值

完整实现代码(WinForm场景)

你可以直接在按钮点击等触发事件中调用以下逻辑:

using System.IO;
using System.Collections.Generic;

// 1. 定义前缀与对应TextBox的映射关系,替换为你界面上实际的TextBox控件名
var prefixMap = new Dictionary<string, TextBox>()
{
    {"-load1 ", textBox1},
    {"-load2 ", textBox2},
    {"-load3 ", textBox3},
    {"-load4 ", textBox4},
    {"KEY PASS: ", textBox5}
};

// 2. 替换为你的文本文件实际路径
string filePath = @"C:\xxx\你的目标文件.txt";
if (!File.Exists(filePath))
{
    MessageBox.Show("目标文件不存在");
    return;
}

// 3. 逐行处理提取内容
string[] allLines = File.ReadAllLines(filePath);
foreach (string line in allLines)
{
    foreach (var kvp in prefixMap)
    {
        // 已赋值的TextBox直接跳过,提升效率
        if (!string.IsNullOrEmpty(kvp.Value.Text)) continue;
        
        int prefixPos = line.IndexOf(kvp.Key);
        if (prefixPos >= 0)
        {
            // 截取前缀之后的内容
            string rawContent = line.Substring(prefixPos + kvp.Key.Length);
            // 去除末尾多余的引号、空格、右括号等无用字符
            string result = rawContent.TrimEnd('"', ' ', ')');
            kvp.Value.Text = result;
            break;
        }
    }
}

如果你的文本内容已经提前加载到字符串变量中,只需要把File.ReadAllLines替换为按换行符分割字符串得到行数组即可,后续处理逻辑完全一致,可直接提取到你预期的结果。

内容的提问来源于stack exchange,提问作者Công Ngô Chí

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 21:39:03