c# - 如何恢复已被替换的 HTML 括号?

标签 c# html regex replace

我正在处理一个数据库,该数据库的内容中尖括号已替换为字符 ^

例如

^b^some text^/b^

任何人都可以推荐一个 c# 解决方案来将 ^ 字符转换回适当的括号,以便它可以显示为 html 吗?我猜想某种正则表达式可以完成这项工作......?

提前致谢

最佳答案

您可以替换第 n 个 ^带有 > 的字符其中 n 是偶数且 <其中 n 是奇数。

var html = "^b^some text^/b^";

var n = 0;
var result = Regex.Replace(html, "\\^", m => ((n++ % 2) == 0) ? "<" : ">");
// result == "<b>some text</b>"

请注意,这仅在原始 HTML 代码包含结束符 > 时有效。每个 < 的字符字符(<p<b>... 不好)并且没有^原始 HTML 代码中的字符(<b>2^5</b> 是错误的)。

关于c# - 如何恢复已被替换的 HTML 括号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6414292/

相关文章:

c# - ASP.NET MVC 4 : Error received when trying to insert datetime field in Sql Server Database from input text box

c# - VBA C# DLL 未注册

html - 字体不呈现(使用 Bootstrap )

html - 如何在使用 Bootstrap 4 加载页面后禁用加载器/微调器?

python - 如何使用 nltk 正则表达式模式来提取特定的短语 block ?

c# - 如何在不计算 Enter 键的情况下在 C# 中读取到 EOF?

Javascript 将数据插入 HTML 表格

Java 正则表达式帮助 : Splitting String on spaces, "=>"和逗号

regex - 如何从这个键值对中提取值?

c# - 用 .NET 编写的 OSS Twitter 克隆