如何只打印不同的行并删除重复的行

时间:2016-08-21 07:06:22

标签: c#

我通过阅读pdf文件来获取行,我只想打印distinct行。这是我的代码

aspx.cs

for (int i = 1; i <= intPageNum; i++)
{
    string text = PdfTextExtractor.GetTextFromPage(reader, i, new LocationTextExtractionStrategy());
    words = text.Split('\n');
    for (int ii = 0; ii < langu.Count; ii++)
    {
        for (int j = 0, len = words.Length; j < len; j++)
        {
            line = Encoding.UTF8.GetString(Encoding.UTF8.GetBytes(words[j]));
            if (line.Contains(langu[ii].InnerXml))
            {
                Response.Write(line+ "</br>");
            }
        }
    }
}

行包含重复的lines,但我只想写distinct行。我可以这样做吗?谢谢

1 个答案:

答案 0 :(得分:0)

我假设distinct你的意思是你只想打印每一行。

我可能会使用List的{​​{1}}来保存我已经输出的值,并确保我只输出一行。这些方面的东西:

string

此代码的有效功能是,您可以通过向// Declaration outside your for loops List<string> ExistingLines = new List<string>(); ... line = Encoding.UTF8.GetString(Encoding.UTF8.GetBytes(words[j])); if (line.Contains(langu[ii].InnerXml) && !ExistingLines.Contains(line)) { Response.Write(line+ "</br>"); ExistingLines.Add(line); } .... 添加每条不同的行来跟踪现有行。如果后面的行与之前的行(List)不匹配,则会添加。