2017-09-04 78 views
0

我想弄清楚最好的方式之前獲取/字符在字符串中的所有內容。以下是一些示例字符串。得到一切後斜槓c#

var url = dr.FindElements(By.XPath("//*[@id=\"u_0_3\"]/div/h1/a")); 
      foreach (var item in url) 
      { 
       if (item.GetAttribute("href").ToString().Contains("https://www.facebook.com/")) 
       { 
        listBox4.Items.Add("here"); 
       } 
      } 

的href是這樣=「http://facebook.com/xxx」 希望xxx,它是用戶名想要得到它獨自在我的列表框中沒有網址的

+0

'項目= I替換(@「http://facebook.com/」,string.Empty);'? – oerkelens

+1

不要使用字符串,創建一個'Uri'實例並在那裏使用方法/屬性。 – Lee

+0

簡單而髒的方式是'string [] strArray = strString.Split('/'); strWantedString = strArray [strArray.Count];' – Gopi

回答

0

的其餘部分如果你的地步,你已經得到你要使用的字符串,這裏有兩種方法可以做到這一點:

分割字符串由/,並採取最後一部分

var stringToProcess = "https://www.facebook.com/ProfileName"; 
var partsOfString = stringToProcess.Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries); 
var profileName = partsOfString.Last(); 

使用Uri類提取的最後部分

var stringToProcess = "https://www.facebook.com/ProfileName"; 
var stringToProcessAsUri = new Uri(stringToProcess); 
var profileNameFromUri = stringToProcessAsUri.Segments.Last(); 

這是「嚴格把好」的方式,因爲它會給你一個乾淨的結果,即使配置文件地址查詢字符串連接到它,即:

var stringToProcess = "https://www.facebook.com/ProfileName?abc=def"; 
var stringToProcessAsUri = new Uri(stringToProcess); 
var profileNameFromUri = stringToProcessAsUri.Segments.Last(); 

你仍然有變量profileNameFromUri返回一個包含只ProfileName