从CSV数据中删除尾随逗号

时间:2009-11-16 11:56:35

标签: c# csv

这是用于在另一个号码后添加逗号的代码,但我想删除最后一个逗号:

str_MSISDN.Append("'" + _MSISDN[x].TrimStart() + "'" + ",");

5 个答案:

答案 0 :(得分:12)

我建议您使用String.Join而不是手动添加内容,而是开始使用它。您可以使用LINQ来修剪值。例如:

string x = string.Join(",", _MSISDN.Select(x => "'" + x.TrimStart() + "'")
                                   .ToArray());

编辑:MoreLINQ及其ToDelimitedString方法提供了更好的版本:

string x = _MSISDN.Select(x => "'" + x.TrimStart() + "'")
                  .ToDelimitedString(",");

答案 1 :(得分:3)

你可以使用TrimEnd方法(当你完成追加时):

str_MSISDN = str_MSISDN.ToString().TrimEnd(',');

答案 2 :(得分:2)

您可以使用String.TrimEnd()方法:

[your value] = str_MSISDN.ToString().TrimEnd(",".ToCharArray())

答案 3 :(得分:1)

我最喜欢做这种事情的方法是使用string.Join方法:

string str_MSISDN = string.Join(", ", _MSISDN);

(假设_MSISDN是一个字符串数组)

如果你想修剪每个项目的开头,你可以这样做:

string str_MSISDN = string.Join(", ", _MSISDN.Select(x=>x.TrimStart()).ToArray());

注意你必须调用.ToArray,因为Join方法想要的数组不是IEnumerable

答案 4 :(得分:0)

我想说首先不要添加它,你有几种选择。

1)使用string.join

2)按如下方式重构你的循环

int i = 0;
if (_MSISDN.Length > 0)
{
    str_MSISDN.Append("'" + _MSISDN[i++].TrimStart() + "'")
    while( i < _MSISDN.Length )
        str_MSISDN.Append(",'" + _MSISDN[i++].TrimStart() + "'");
}