如何在以编程方式生成降价时转义字符串 table

How to escape string while programmatically generating markdown table

我使用 C# 以编程方式根据用户输入生成降价表。

编辑

考虑这个演示代码:

var a = Console.ReadLine();
var b = Console.ReadLine();
var c = Console.ReadLine();

var markdownTableBuilder = new StringBuilder();
markdownTableBuilder.AppendLine("| Column A | Column B | Column C |");
markdownTableBuilder.AppendLine("| -------- | -------- | ---------|");

markdownTableBuilder.AppendLine($"| {a} | {b} | {c}");
markdownTableBuilder.AppendLine("");

Console.WriteLine(markdownTableBuilder.ToString());

我想从 a、b、c 变量中转义所有降价语法。例如,如果用户输入 Hello | *world*,应该转义为Hello \| \*世界\*

您可以使用正则表达式进行替换:

string escaped = Regex.Replace(userInput, @"([|\*])", @"$1");

这将找到任何 '|', '\', '*' 个字符并在其前面放置一个 '\'