我通过阅读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
行。我可以这样做吗?谢谢
答案 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
)不匹配,则会添加。