如果我有一個字串:
mystring = "<p></p><p></p><p></p>"
所以基本上是 3 個空段落
如果我希望最終結果是:
<p id='1'></p><p id='2'></p><p id='3'></p>
我該如何使用替換或類似功能來做到這一點?(在 C# 中)
uj5u.com熱心網友回復:
如評論中所述,您可以在MatchEvaluator
. 歸功于此SO 答案。
public static void Main()
{
string text = "<p></p><p></p><p></p>";
Console.WriteLine(text);
Console.WriteLine(Transform(text));
}
static string Transform(string text)
{
int matchNumber = 0;
return Regex.Replace(text, @"<p>", m => Replacement(m.Captures[0].Value, matchNumber ));
}
static string Replacement(string s, int i)
{
return string.Format("{0} id='{1}'>", s.Replace(">", ""), i 1);
}
小提琴
uj5u.com熱心網友回復:
如果你想編輯 XML,你應該使用正確的 XML 方法
var yourString = "<p></p><p></p><p></p>";
var x = XElement.Parse("<Root>" yourString "</Root>");
var i = 0;
foreach (var element in x.Elements("p"))
element.Add(new XAttribute("id", i ));
Console.WriteLine(String.Concat(x.Nodes()));
網路小提琴
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/373405.html
下一篇:在Python中計算連續數字