-2

这是我的字符串:

<a href=\"https://vine.co/v/h7pUFJirEBX\" target=\"_blank\">https://t.co/LFIwdhvjB6</a>

我要检索的部分是“/v/”之后的部分,即“h7pUFJirEBX”。

你知道在 C# 中有什么方法吗?

更新:这是我现在的代码。

        var findIndex = url.IndexOf("/v/");
        var stringTweet = url.Substring(findIndex + 3);
        var removeafter = stringTweet.IndexOf("\"");
        var finalString = stringTweet.Remove(removeafter);
        return finalString;

finalString 现在是“h7pUFJirEBX”。然而,这似乎是解决问题的一种糟糕方法。

4

3 回答 3

1

String.Substring是对所问问题的确切答案。甚至可以为您工作:

 var result = "<a href=\"https://vine.co/v/h7pUFJirEBX\" target=\"_".Substring(24, 14);

笔记:

  • 使用字符串操作(或者更糟糕的是使用正则表达式)解析 HTML 是很困难的。请考虑使用 HtmlAgilityPack
  • 手动拆分 Urls 是危险的 - 请考虑使用Uri类,它可以让您正确获取 url 的组件,如路径。
于 2013-07-10T07:01:00.613 回答
1

您需要先从那里提取href属性。您可以使用 aRegEx或使用agilitypack为您解析它:从 html 片段中轻松提取链接HtmlAgilityPack

从那里您可以:

var uri = new Uri(@"https://vine.co/v/h7pUFJirEBX\");

var yourValue = uri.AbsolutePath.Substring(3);
于 2013-07-10T07:05:12.393 回答
0

使用 . 在字符串中查找“/v/”IndexOf()序列的索引。然后将Substring()起始找到的索引设为"\"的索引。不确定它是否是解析网址的好方法。

于 2013-07-10T07:04:58.903 回答