【问题标题】:how to print only distinct line and remove duplicate line如何仅打印不同的行并删除重复的行
【发布时间】:2016-08-21 15:16:55
【问题描述】:

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

【问题讨论】:

    标签: c#


    【解决方案1】:

    我假设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)) 不匹配,它将被添加。

    【讨论】:

    • 请让我检查一下
    • 这里我在List&lt;string(); 附近遇到错误,这里是List&lt;string&gt; ExistingLines = new List&lt;string();
    • 您在string 之后缺少&gt;...您肯定可以在那里发现错误吗?
    • 哦,伟大的人!非常感谢。现在我得到了不同的线条。谢谢sss
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-11
    • 2022-09-26
    • 2022-01-26
    • 1970-01-01
    相关资源
    最近更新 更多