我有一个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
答案 0 :(得分:0)
您需要使用JsonMessage.Replace("\\r", "");
\\
将被解释为单个反斜杠。
答案 1 :(得分:0)
与其不替换“ \ r”,不如尝试将“ \ r \ n”替换为“ \ n”,作为
string mystring = "5\r\n5\r\n5";
mystring = mystring.Replace("\r\n", "\n");
这将产生“ 5 \ n5 \ n5”