比较文本文件中的字符串

本文关键字:字符串 文件 文本 比较 | 更新日期: 2023-09-27 18:03:07

我有一个文本文件,我需要比较每一行的前8个字符,并将这些行连接为一行,其中有一个匹配。我使用的逻辑是从第一行开始选择每一行,并将其与其他行进行比较,然后移动到第二行,并执行相同的操作,直到最后一行。但是当我尝试遍历其他行进行比较时,我得到错误"索引和长度必须引用字符串中的位置"。

请告知,见下面的代码。

while ((line1 = fileread.ReadLine()) != null)
{
    counter2++;
    while ((line2 =fileread.ReadLine()) != null) 
    {                        
        if (line1.Substring(0, 8) == line2.Substring(0, 8))
        {
            line1 = line1 + " " + line2;
        }
        counter3++;
    }                    
    filewrite.WriteLine(line1);
    counter1++;
}

比较文本文件中的字符串

您需要在使用Substring之前检查ste字符串的长度,使用Length属性

while ((line2 =fileread.ReadLine()) != null) 
{          
    if (line1.Length >=8 && lines2.Length >=8 &&
        line1.Substring(0, 8) == line2.Substring(0, 8))
    {
        line1 = line1 + " " + line2;
    }
    counter3++;
}