如何以编程方式生成markdown表时转义字符串

时间:2016-08-25 13:04:33

标签: c# markdown

我使用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变量中转义所有markdown语法。例如,如果用户输入类似 Hello |的内容* world * ,它应该转义为 Hello \ | \ *世界\ *

1 个答案:

答案 0 :(得分:3)

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

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

这会找到任何'|', '\', '*'字符,并在其前面添加'\'