所以要输出一些属性到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
在单独的列中
您需要将条目包装在引号中
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)
| 归档时间: |
|
| 查看次数: |
157 次 |
| 最近记录: |