说我有一个字符串如下:
"Unneeded text <strong>Needed Text</strong> More unneeded text"
如何仅提取“需要的文字”?我猜Regex可能是最简单的方法,但Regex对我来说仍然看起来像是象形文字。
答案 0 :(得分:19)
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();
答案 1 :(得分:11)
你不需要正则表达式。
您可以使用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。
答案 2 :(得分:8)
答案 3 :(得分:3)
使用HTMLAgilityPack并让自己头疼。像这样的东西应该这样做:
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml("html...");
var innerText = doc.DocumentNode.Descendants("strong").Select(x => x.InnerText).SingleOrDefault();
答案 4 :(得分:1)
举个例子,一个简单的Split
就可以做到,例如
var innerText = text.Split('>')[1].Split('<')[0];
答案 5 :(得分:0)
如何使用简单的正则表达式,如:
(?<=<strong>).+?(?=<)