将多行文本转换为一行文本并使用符号替换

时间:2017-03-19 19:24:59

标签: c# string text data-conversion

我试图在某个地方提交一个只接受纯文本的评论,但它必须在一行内。我的问题是,我不知道格式的类型以及如何提交评论。

例如,新行替换为\ r \ n,"被替换为\"等等。这取决于符号。

所以我的问题是如何将非法的多行文本转换为计划和法律......

例如转身:

Here is the list:

"Pizza"

"Eggs"*

Here is the list: \"Pizza\"\r\n\r\n\"Eggs\"

或者至少这种格式是什么,所以我可以自己做研究。

2 个答案:

答案 0 :(得分:0)

如果您的列表条目中有空格,则需要注意替换顺序。

var list = @"""Pizza"" ""Eggs"" ""Fish and Chips""";
var amendedList = list.Replace(@""" """, @"""\r\n""");
var amendedList2 = amendedList.Replace(@"""", @"\""");

答案 1 :(得分:0)

这就是你要求的:

        string[] toReplace = { "\"", " " };
        string[] with = { "\\\"", "\\r\\n\\r\\n" };
        string str = "Here is the list: \"Pizza\" \"Eggs\"";
        string toCheck = str.Substring(str.LastIndexOf(':') + 2);
        Console.Write(str + "\n");
        for (int i= 0; i < toReplace.Length; i++)
        {
            toCheck = toCheck.Replace(toReplace[i], with[i]);
        }
        Console.Write(toCheck + "\n");