转义逗号C#-CSV

时间:2019-08-26 14:05:39

标签: c# csv

我一直在关注创建CSV文件的问题,但是显然老师在代码的一部分中存在一些问题。实际上,有一种方法可以替换奇怪的字符并转义逗号,因为它正在创建CSV。

其代码如下:

private string PrepareInputForFile(string input)
{
        input = input.Replace('ı', 'i')
            .Replace('ç', 'c')
            .Replace('ö', 'o')
            .Replace('ş', 's')
            .Replace('ü', 'u')
            .Replace('ğ', 'g')
            .Replace('İ', 'I')
            .Replace('Ç', 'C')
            .Replace('Ö', 'O')
            .Replace('Ş', 'S')
            .Replace('Ü', 'U')
            .Replace('Ğ', 'G')
            .Replace(""", """") // this line is issue
            .Trim();
        if (input.Contains(","))
        {
            input = """ + input + """; // and this line also!
        }
        return input;
}

实际上会引发错误,提示:

  

将文本表示为UTF-16代码单元的序列。 ;预期的。

那么我该如何解决此代码,使其真正起作用(转义逗号等)。

2 个答案:

答案 0 :(得分:2)

您必须使用"\""而不是"""来定义字符"作为字符串的一部分。您的代码应如下所示:

 .Replace("\"", "\"\"") // this line is issue

答案 1 :(得分:1)

您必须在C#字符串中转义双引号:

...
.Replace("\"", "\"\"");
...
 input = "\"" + input + "\"";