2017-11-18 186 views
0

有一行存儲數據引用。我如何解析它才能獲得特定的鏈接? 示例行:從一行c中提取一個短語#

string urls = "<a href='DocumentEditor.aspx?IdDocument=874551' target='_blank'>Договор аренды № 09/03-12 от 16.03.2012, с 16.03.2012 по 15.03.2017 ;</a><br>Арендатор: <a href='ContragentEditor.aspx?IdContragent=43938' target='_blank'> Общество с ограниченной ответственностью "Строй-Союз"(*) </a></br><br>;<a href='DocumentEditor.aspx?IdDocument=1064925' target='_blank'>Договор аренды № 01/01-16 от 15.07.2011, с 25.11.2011 по 26.01.2021;</a><br>Арендатор: <a href='ContragentEditor.aspx?IdContragent=58283' target='_blank'> ООО "Строительно-транспортная компания "ЭкоСтрой" </a></br><br>" 

我需要從該行獲得:

string getRow = "a href='DocumentEditor.aspx?IdDocument=1064925' target='_blank'>Договор аренды № 01/01-16 от 15.07.2011, с 25.11.2011 по 26.01.2021;</a><br>Арендатор: <a href='ContragentEditor.aspx?IdContragent=58283' target='_blank'> ООО "Строительно-транспортная компания "ЭкоСтрой" </a></br><br>"" 

可以有任意數量的線路連接。我如何從這一行中提取特定的鏈接,例如1或最後一個?

+0

使用合適的html解析器。首先想到的是HtmlAgilityPack – Steve

+0

請告訴我們你已經嘗試過什麼,以及你卡在哪裏。 https://stackoverflow.com/help/how-to-ask是如何獲得更好答案的很好參考。 – suvartheec

回答

0

您可以對'進行分割並檢查其中一個部分是否包含.aspx。但是這種技術遠非完美。

using System.Text.RegularExpressions; 

string[] getRowArr = Regex.Split(getRow, "'"); 
foreach (string item in getRowArr) 
{ 
    if (item.ToLower().Contains(".aspx") || item.ToLower().Contains(".com")) 
    { 
     Label1.Text += item + "<br />"; 
    } 
} 

但是,你的字符串現在如何,他們甚至不會編譯!這是行不通的:я "ЭкоСтрой" </a></br><br>""