如何以CSV格式输出逗号

use*_*358 0 c# stringbuilder

所以要输出一些属性到csv,我正在使用stringbuilder它使用逗号作为逗号的自然分隔符.问题是当我在字符串中添加带逗号的字符串时,它会将它拆分为单独的列.所以对于前

temp.Append("ab,cd,ef")给了我3个单独的专栏.如何将其作为单个列输出,并且逗号完好无损.

这是捕获组的结果

match = Regex.Match(amt, "^\"([\\d,]+),(\\d\\d\\d)\"$");
Run Code Online (Sandbox Code Playgroud)

然后我做了

amt = Convert.ToString(match.Groups[1].Value) + Convert.ToString(match.Groups[2].Value);
Run Code Online (Sandbox Code Playgroud)

所以它需要123,123,123,123之类的逗号,并且我想输出完全相同的东西,最后一个逗号被句号替换.但它仍然会出现

123 123 123 123 123

在单独的列中

Bob*_*ale 7

您需要将条目包装在引号中

temp.Append("\"ab,cd,ed\"");
Run Code Online (Sandbox Code Playgroud)

更新后的问题更新

根据您要转换123,445,567,890的内容123,445,567.890 ,您希望CSV输出正常工作:

您仍然需要将结果包装在引号中,以便您需要

amt = string.Format("\"{0}.{1}\"", match.Groups[1].Value, match.Groups[2].Value);
Run Code Online (Sandbox Code Playgroud)

或者你可以只替换最后一个','

amt = new Regex(",(?=\\d{3}\"$)").Replace(x,".");
Run Code Online (Sandbox Code Playgroud)

或没有正则表达式.

char[] y = amt.ToCharArray();
y[amt.LastIndexOf(",")] = '.';
amt = string(y);
Run Code Online (Sandbox Code Playgroud)