[英]Remove characters not in string variable as pattern in Regex.Replace
[英]Regex to remove and replace characters
我有以下
<option value="Abercrombie">Abercrombie</option>
我的文件中有大約2000行,每行具有不同的位置,我試圖了解正則表達式,但是很遺憾,我學到的東西都不會進入,並且不確定是否可行。
我想做的是運行一個正則表達式,它將刪除上面的HTML,將保留以下內容
Abercrombie
然后,我想在前面加上一個特定的數字,這樣的結果例如
2,Abercrombie
這可能嗎?
不要使用正則表達式,因為HTML不是常規語言。 您可以使用Linq的XML解析器。 如果要處理整個文件,可以內聯替換元素:
int myNumber = 2;
var html = @"<html><body><option value=""Abercrombie"">Abercrombie</option><div><option value=""Forever21"">Forever21</option></div></body></html>";
var doc = XDocument.Load(new StringReader(html));
var options = doc.Descendants().Where(o => o.Name == "option").ToList();
foreach (var element in options)
{
element.ReplaceWith(string.Format("{0},{1}", myNumber, element.Value));
}
var result = doc.ToString();
這給出:
<html>
<body>2,Abercrombie<div>2,Forever21</div></body>
</html>
如果只想獲取特定標簽的文本,則可以使用以下命令:
int myNumber = 2;
var html = @"<option value=""Abercrombie"">Abercrombie</option>";
var doc = XDocument.Load(new StringReader(html));
var element = doc.Descendants().FirstOrDefault(o => o.Name == "option");
var attribute = element.Attribute("value").Value;
var result = string.Format("{0},{1}", myNumber, attribute);
//result == "2,Abercrombie"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.