簡體   English   中英

如何<strong>使用C#</strong>在<strong>標簽</strong>之間提取字符串<strong>?</strong>

[英]How can I extract a string between <strong> tags usings C#?

說我有一個如下所示的字符串:

"Unneeded text <strong>Needed Text</strong> More unneeded text"

我怎樣才能只提取“ 需要的文字 ”? 我猜Regex可能是最簡單的方法,但Regex對我來說仍然看起來像象形文字。

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();

你不需要正則表達式。

你可以使用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

使用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];

如何使用簡單的正則表達式,如:

(?<=<strong>).+?(?=<)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM