忽略逗号分析的字符串中的逗号

pro*_*don 2 c#

所以,假设我有一个字符串输入到这样设置的Excel文档中

output.WriteLine(string.Format("{0},{1},{2},{3}",
                                                   var1,
                                                   var2,
                                                   var3,
                                                   var4
                                                   ));
Run Code Online (Sandbox Code Playgroud)

现在通常它会将每个var进入一个单独的单元格.但是,我发现如果我var的一个逗号中有逗号,它会将其视为一个单元格结尾,然后转到下一个.如何var在保持设置的同时忽略s中的逗号?

Cod*_*lla 6

我假设这是您正在创建的CSV文件.因此,您需要使用双引号将包含逗号的值包装起来.你可以包装所有东西(这更容易,如:

output.WriteLine(string.Format("\"{0}\",\"{1}\",\"{2}\",\"{3}\"",
                                                   var1,
                                                   var2,
                                                   var3,
                                                   var4
                                                   ));
Run Code Online (Sandbox Code Playgroud)

或者你可以写一个小帮手函数,如:

public string EncodeCell(string value) {
   return value.Contains(",") ? String.Format("\"{0}\"", value) : value;
}
Run Code Online (Sandbox Code Playgroud)

然后做:

output.WriteLine(string.Format("{0},{1},{2},{3}",
                                                   EncodeCell(var1),
                                                   EncodeCell(var2),
                                                   EncodeCell(var3),
                                                   EncodeCell(var4)
                                                   ));
Run Code Online (Sandbox Code Playgroud)