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

本文关键字:删除 打印 | 更新日期: 2023-09-27 18:03:27

我通过阅读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行。我该怎么做呢?由于

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

我认为distinct的意思是您只想打印每行一次。

我可能会使用string的通用List来保存我已经输出的值,并确保我只输出每行一次。下面的内容:

// 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来跟踪现有的行。如果后面的行与前面的行(!ExistingLines.Contains(line))不匹配,它将被添加。