Sah*_*hir 1 c# regex asp.net-mvc
我有一个带有多个<p>标签的文本正文.我想在此文本正文中为每个P标记插入一个GUID.
最初我是这样做的 text = text.Replace("<p>", "<p data-paragraph-id=" + Guid.NewGuid().ToString() + ">");
但是,正如您所看到的,这将为每个P标记添加相同的GUID.我的问题是:如何为每个P标签插入一个唯一的GUID?
您正在寻找允许返回每个匹配的自定义结果的Regex.Replace(或其静态veriosn):
string替换(字符串输入,MatchEvaluator求值程序)
在指定的输入字符串中,将匹配指定正则表达式的所有字符串替换为MatchEvaluator委托返回的字符串
样品:
var result = Regex.Replace(text, "<p>", _ =>
"<p data-paragraph-id=" + Guid.NewGuid().ToString() + ">");
Run Code Online (Sandbox Code Playgroud)
旁注:如果您正在尝试修改HTML,请考虑使用HTMLAgilityPack读取并通过DOM添加属性...比任何RegEx /字符串替换/连接更安全/更可扩展,您可以提出.
| 归档时间: |
|
| 查看次数: |
621 次 |
| 最近记录: |