查找excel中前一行的前8个字符是否与当前行的前8个字符匹配

时间:2015-08-12 14:41:43

标签: c# list matching

我已将excel文件中的所有行放入列表中。我试图匹配彼此具有相同ID的所有行并将它们放在列表中。我不知道该怎么做。

//make list a string
for(int i= 1; i <listCount; i++)
{
    mytextfrompdf = myStringList.ToString();
}

//find the matching IDs throughout the list
foreach (string textLine in myStringList)
{   
    //Get the first 8 characters of the string (ID numbers)
    string aNumber = textLine.Substring(0,8);

    //Does ID match the previous ID?
    if (aNumber.LastIndexOf())
    {
       //if  IDs match add to existing list

    }
    else //create a new list                 
}

2 个答案:

答案 0 :(得分:0)

如果我说得对,这可能是一个很好的比较算法:

        List<string>myStringList= new List<string>();
          string prevID= myStringList.First().Substring(0,8);
        foreach (string textLine in myStringList)
        {
            //Get the first 8 characters of the string (ID numbers)
            string aNumber = textLine.Substring(0, 8);

            if (aNumber.Equals(prevID))

            {

                //do whatever you want with them.
            }

            else
            {


            }
            prevID= aNumber ;
        }

够好吗?

答案 1 :(得分:0)

您可以使用LINQ:

将字符串按前8个字符分组
List<List<string>> result = stringList.GroupBy(textLine => textLine.Substring(0,8))
                                      .Select(g => g.ToList());
                                      .ToList();

这将为您提供字符串列表的列表。