如何使用c#从逗号分隔的文本文件行中读取特定字段

本文关键字:文件 读取 字段 文本 何使用 分隔 | 更新日期: 2023-09-27 18:16:48

我在这里看到很多帖子,但都在告诉如何一行一行地阅读文本文件。但是我不想逐行读取,我想逐行读取

我的文本文件的例子如下

通过,2013年2月22日,20:12,ss123, 1234,1234,1234,失败*某些原因,20,500
被拒绝,2013/02/22,20:12,ss123, 1234,1234,1234,失败*某些原因,20,500

输出文本文件,我想像:

已接受,2013/02/22,20:12,ss123, 1234,1234,1234,已接受,20,500

被拒,2013/02/22,20:12,ss123, 1234,1234,1234,某些原因,20,500

在上面的输出示例中,首先我需要检查该行是否包含Accepted,如果它包含Accepted,那么我需要将第8列(Failed*Some reason)替换为Accepted,否则我需要在第8列(Some reason)中只写原因,为什么它被拒绝。如果你能解决我的问题,请提前感谢……

我想做喜欢下面的代码…任何人请帮助我…在这里输入代码

try
{
 System.IO.TextReader ReadFile = new StreamReader("c:''ATMLOG.txt");
 System.IO.TextWriter writeFile = new StreamWriter("c:''DeatailReport.txt");
string line = ReadFile.ReadLine()
while(line!=null)
{
if(line.contains("Accepted")
{
string[] strArr = line.Split(',');
strArr[8]="Accepted";//i wanted to replace 8th column of comma separated text file line with Accepted 
TextWrite.writeln(line);
}
else
{
switch(strArr[8])
{
case "some reasson" : //which reason will be mached that should be write on 8th column of comma separated text file
case "some reasson":
; 
;
;

}
            }
            catch (IOException ex)
            {
                MessageBox.Show(ex.ToString());
            }

如何使用c#从逗号分隔的文本文件行中读取特定字段

您可以使用String.Split()

获得一个字段数组
string[] strArr = myStr.Split(',');

我甚至不会为执行分割而烦恼。因为看起来一切都是Failed*Some Reason,你只需要Failed*消失,我将执行替换:

line = line.Replace("Failed*", "");

为了使它更有效,您仍然可以检查Accepted

if (!line.Contains("Accepted"))
{
    line = line.Replace("Failed*", "");
}