我一直在关注创建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代码单元的序列。 ;预期的。
那么我该如何解决此代码,使其真正起作用(转义逗号等)。
答案 0 :(得分:2)
您必须使用"\""
而不是"""
来定义字符"
作为字符串的一部分。您的代码应如下所示:
.Replace("\"", "\"\"") // this line is issue
答案 1 :(得分:1)
您必须在C#字符串中转义双引号:
...
.Replace("\"", "\"\"");
...
input = "\"" + input + "\"";