gpt4 book ai didi

c# - 将字符串中的子字符串替换为找到的每个子字符串的新 GUID

转载 作者:太空宇宙 更新时间:2023-11-03 18:29:51 27 4
gpt4 key购买 nike

我有一个包含多个 <p> 的正文标签。我想为这段文本中每次出现的 P 标记插入一个 GUID。

最初我是这样做的text = text.Replace("<p>", "<p data-paragraph-id=" + Guid.NewGuid().ToString() + ">");

但是,如您所见,这将为每个 P 标签放置相同的 GUID。我的问题是:如何为每次出现的 P 标记插入唯一的 GUID?

最佳答案

您正在寻找Regex.Replace (或其静态版本)允许为每个匹配返回自定义结果:

string Replace(string input, MatchEvaluator evaluator)

In a specified input string, replaces all strings that match a specified regular expression with a string returned by a MatchEvaluator delegate

示例:

var result = Regex.Replace(text, "<p>", _ => 
"<p data-paragraph-id=" + Guid.NewGuid().ToString() + ">");

旁注:如果您正在尝试修改 HTML,请考虑使用 HTMLAgilityPack 阅读并通过 DOM 添加属性...比您可以想出的任何 RegEx/字符串替换/连接更安全/更具可扩展性。

关于c# - 将字符串中的子字符串替换为找到的每个子字符串的新 GUID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24816563/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com