问问题
33812 次
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.SubString
和String.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
于 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 回答