我正在爲產品銷售網站編寫自己的特定網絡爬蟲。由於他們的編碼性質非常糟糕,我得到的網址指向相同的頁面。找到一個字符串列表是否包含多個相同的元素
例一
http://www.hizlial.com/bilgisayar/bilgisayar-bilesenleri/bilgisayar/yazicilar/samsung-scx-3200-tarayici-fotokopi-lazer-yazici_30.033.1271.0043.htm
例如上面的頁是相同的,如下
http://www.hizlial.com/bilgisayar-bilesenleri/bilgisayar/yazicilar/samsung-scx-3200-tarayici-fotokopi-lazer-yazici_30.033.1271.0043.htm
正如你可以看到它含有2 「bilgisayar」 元件時,通過'/'
字符分割
所以我想要的是我想拆分這樣的網址
string[] lstSPlit = srURL.Split('/');
之後,檢查該列表是否多次包含相同的元素。任何元素。如果包含任何元素,我將跳過網址,因爲我已經有了從其他頁面提取的真實網址。那麼做這件事的最好方法是什麼?
較長,但工作版本
string[] lstSPlit = srHref.Split('/');
bool blDoNotAdd = false;
HashSet<string> splitHashSet=new HashSet<string>();
foreach (var vrLstValue in lstSPlit)
{
if (vrLstValue.Length > 1)
{
if (splitHashSet.Contains(vrLstValue) == false)
{
splitHashSet.Add(vrLstValue);
}
else
{
blDoNotAdd = true;
break;
}
}
}
所以要檢查是否'lstSPlit'包含相同的項目超過一次?或者你想檢查它是否包含你在之前的運行中看到的項目? – 2012-02-03 00:30:26
同一個項目不止一次。它可以是它的任何項目 – MonsterMMORPG 2012-02-03 00:40:03