如何使用C#在标签之间提取字符串?

说我有一个字符串,如下所示:

"Unneeded text Needed Text More unneeded text" 

如何仅提取“ 需要的文本 ”? 我猜Regex可能是最简单的方法,但Regex对我来说仍然看起来像象形文字。

 Regex regex = new Regex("(.*)"); var v = regex.Match("Unneeded text Needed Text More unneeded text"); string s = v.Groups[1].ToString(); 

你不需要正则表达式。

你可以使用String.SubStringString.Split方法之类的;

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

输出将是;

 Needed Text 

这是一个DEMO

看看HTML Agility Pack或AngleSharp

使用HTMLAgilityPack可以省去头疼。 这样的事情应该这样做:

 HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); doc.LoadHtml("html..."); var innerText = doc.DocumentNode.Descendants("strong").Select(x => x.InnerText).SingleOrDefault(); 

举个例子,一个简单的Split可以做到,例如

 var innerText = text.Split('>')[1].Split('<')[0]; 

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

 (?<=).+?(?=<)