在Slash c#之后获取所有内容

时间:2017-09-04 16:30:23

标签: 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想要在我的列表框中单独使用,而不需要其余的URL

1 个答案:

答案 0 :(得分: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