13
4

6 回答 6

21
Regex regex = new Regex("<strong>(.*)</strong>");
  var v = regex.Match("Unneeded text <strong>Needed Text</strong> More unneeded text");
  string s = v.Groups[1].ToString();
于 2013-06-25T13:20:50.407 回答
13

你不需要正则表达式。

您可以使用String.SubStringString.Split方法,例如;

string s = "Unneeded text <strong>Needed Text</strong> More unneeded text";
Console.WriteLine(s.Substring(s.IndexOf("<strong>") + "<strong>".Length, s.IndexOf("</strong>") - s.IndexOf("<strong>") - "<strong>".Length));

输出将是;

Needed Text

这里有一个DEMO

于 2013-06-25T13:19:44.250 回答
8

查看HTML Agility PackAngleSharp

于 2013-06-25T13:16:08.030 回答
4

使用HTMLAgilityPack并让自己免于头疼。这样的事情应该这样做:

HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml("html...");

var innerText = doc.DocumentNode.Descendants("strong").Select(x => x.InnerText).SingleOrDefault(); 
于 2013-06-25T13:21:33.600 回答
1

给出你的例子,一个简单的Split就可以了,例如

var innerText = text.Split('>')[1].Split('<')[0];
于 2013-06-25T13:18:06.497 回答
0

如何使用简单的正则表达式,例如:

(?<=<strong>).+?(?=<)
于 2016-10-20T09:13:18.003 回答