【发布时间】:2019-07-31 15:05:00
【问题描述】:
我有一个将文档发送到电子邮件的 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
【问题讨论】:
-
试试
JsonMessage.Replace("\\r", ""); -
在尝试替换之前将 JsonMessage 字符串 输出到控制台。请注意,如果您在输出中看到字面上的 \r - 我的意思是字面上的反斜杠后跟一个 r -,那么您的 JsonMessage 中没有任何“\r”。
"\r"是一个只有一个字符的字符串;该字符是 CR(回车)。此字符不可见,因此在控制台输出中看到 \r 将证明您的 JsonMessage 中没有"\r",而是"\\r"。 -
@G5W 谢谢你成功了!