如何使用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());
}
您可以使用String.Split()
string[] strArr = myStr.Split(',');
我甚至不会为执行分割而烦恼。因为看起来一切都是Failed*Some Reason
,你只需要Failed*
消失,我将执行替换:
line = line.Replace("Failed*", "");
为了使它更有效,您仍然可以检查Accepted
。
if (!line.Contains("Accepted"))
{
line = line.Replace("Failed*", "");
}