c#解析出的数据逐行逐字符的位置从txt文件

本文关键字:位置 字符 文件 txt 逐行 数据 | 更新日期: 2023-09-27 18:15:09

只是想看看处理以下情况的最佳方法是什么。

我正试图做一个小的工作,在一个文本文件中读取有一千行左右;

每行大约40个字符长(主要是数字,一些字母标识符)。

我用过

            DataTable txtCache = new DataTable();
        txtCache.Columns.Add(new DataColumn("Column1"));

        string[] lines = System.IO.File.ReadAllLines(FILEcheck.Properties.Settings.Default.filePath);
       foreach (string line in lines)
       {
           txtCache.Rows.Add(line);              
       }

然而,我真正想做的是有点混乱,很难解释,所以我会尽我所能。下面是line的一个例子:5498494000584454684840}eD44448774V6468465 Z

在这个长字符串的开头是一个"84",然后是一个"58"。我需要对这两个数字做一个比较。它们可以是任何组合,但只有少数组合在文件中是可接受的。它们总是在相同的位置和相同数量的字符(所以它总是2个数字,总是在4-5的位置)。所以我想要有3列。我想把整个字符串放在一列中,然后把两个较小的数字放在各自的一列中。然后我可以稍后比较它们,如果有问题,我可以返回导致问题的完整字符串。

这可能吗?我只是不确定如何解析出基于字符位置的子字符串,然后将其加载到数据表中。

任何建议将不胜感激。谢谢,

c#解析出的数据逐行逐字符的位置从txt文件

可以为要存储的每个项创建列(整个字符串、第一个数字、第二个数字),然后为输入文件中的每一行添加一行。您可以使用substring方法来解析两位数并存储它们。要进行分析,您可以从字符串中解析出数字,或者做任何您需要做的事情。

在上面的例子中,

lines[0]. substring(3,2)将给你"84"。如果需要int,可以使用Int32.Parse(lines[0].Substring(3,2))

子字符串引用:http://msdn.microsoft.com/en-us/library/aka44szs%28v=vs.110%29.aspx