因此,假设我有一个字符串输入到像这样设置的Excel文档中
output.WriteLine(string.Format("{0},{1},{2},{3}",
var1,
var2,
var3,
var4
));
现在通常会将每个var
输入一个单独的单元格。
但是,我发现如果我的var
之一中有一个逗号,它会将其视为一个单元格结尾,然后转到下一个。如何在保持设置的同时忽略var
中的逗号?
答案 0 :(得分:6)
我假设这是您正在创建的CSV文件。因此,您需要使用双引号将包含逗号的值包装起来。你可以包装所有东西(这更容易,如:
output.WriteLine(string.Format("\"{0}\",\"{1}\",\"{2}\",\"{3}\"",
var1,
var2,
var3,
var4
));
或者您可以编写一个小辅助函数,如:
public string EncodeCell(string value) {
return value.Contains(",") ? String.Format("\"{0}\"", value) : value;
}
然后做:
output.WriteLine(string.Format("{0},{1},{2},{3}",
EncodeCell(var1),
EncodeCell(var2),
EncodeCell(var3),
EncodeCell(var4)
));
答案 1 :(得分:1)
在插入您选择的转义序列之前,先转义var
中的逗号。
答案 2 :(得分:1)
取决于您希望如何输入逗号。最简单的事情:
var1.Replace(",", "string to replace comma for")
var2.Replace(",", "string to replace comma for")
var3.Replace(",", "string to replace comma for")
...
使用list / array和String.Join也会更容易。