首页 > 解决方案 > C# 正则表达式转义和替换

问题描述

我有一个将文档发送到电子邮件的 API。我正在使用允许我指定电子邮件的参数。它要求换行符为 Json 格式 (\n)。我正在使用正则表达式来转义文本框文本,如下所示。

string JsonMessage = string.Format("{0}\n{1}", System.Text.RegularExpressions.Regex.Escape(this.txtMailMessage.Text), System.Text.RegularExpressions.Regex.Escape(this.txtMailMessage.Text));
        JsonMessage = JsonMessage.Replace("\r", "");
        Console.WriteLine(JsonMessage);

这是一个示例输出:5\r\n5\r\n5

如图所示,我试图替换 \r 以实现 Json 中的“换行符”。所以它看起来像这样:5\n5\n5

我似乎无法理解的是,当我施放时JsonMessage = JsonMessage.Replace("\r", "");它不会取代 \r

标签: c#jsonregexreplace

解决方案


不要用任何内容替换“\r”,而是尝试将“\r\n”替换为“\n”作为

        string mystring = "5\r\n5\r\n5";
        mystring = mystring.Replace("\r\n", "\n");

这将产生“5\n5\n5”


推荐阅读