浅诺回忆 2016-05-10 06:52 采纳率: 0%
浏览 2644
已采纳

C#读取指定路径的file文档,查找指定字符串并获取该字符串旁边的指定字符串

文件路径是\abc.com.hk\TraceFiles\。
手动输入文件名BCEG698121和80,83(组成字符串为80;83;)图片说明
在文件路径里有两个名称是BCEG698121的文件但只有一个含有80;83;的字符串,图片说明
找到80;83;所在的行后获取这两个字符串D174287W23和40;23;图片说明
现在对我难点是名称包含BCEG698121的file文件有两个怎么遍历,如何找到80;83所在行,并获取其他两个字符串,求大神把实现的代码写出来,新手求指导。

  • 写回答

2条回答

  • Go 旅城通票 2016-05-10 07:28
    关注
             string[] fns = Directory.GetFiles(@"文件夹路径,注意修改这里", "BCEG698121*");//获取BCEG698121开头的文件
            string text,keyword="80;83;";
            Regex rx = new Regex("([^;]+);[^;]+;" + keyword + @"([^;]+);([^;]+)");
            Match m;
            foreach (string fn in fns)
            {
                text = File.ReadAllText(fn, Encoding.GetEncoding(936));//注意如果文件不是ansi(国内一般对应gb2312编码)存储修改下编码,要不会出乱码。如果文件存储为utf-8,修改编码为Encoding.UTF8
    
                if (rx.IsMatch(text))
                {
                    m = rx.Match(text);
                    if (m.Groups.Count > 0) MessageBox.Show(m.Groups[1].Value + "\n" + m.Groups[2].Value + "\n" + m.Groups[3].Value);
                }
            }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题