在c#中删除“”之间的逗号

时间:2012-08-06 01:58:45

标签: c# c#-4.0

如何用C#删除字符串中每个“”之间的逗号','?

我试过:

string result = Regex.Replace(input,
@",([^""]$)",String.Empty);

但它不起作用......

感谢

3 个答案:

答案 0 :(得分:5)

我的想法是用“引号”拆分,这样每个不均匀索引元素都会在引号之间。 通过这些,用任何东西替换逗号,然后将所有内容重新连接到单个字符串,应该可以做到这一点:

var parts = input.Split('"');

for (var i = 1; i < parts.Length; i += 2)
{
    parts[i] = parts[i].Replace(",", "");
}

var result = string.Join("\"", parts);

答案 1 :(得分:1)

我对你的输入字符串看起来有点困惑,但只要你试着做简单的逗号替换就可以试试

var result = input.replace(",","");

答案 2 :(得分:0)

// extract the fields
    Regex CSVParser = new Regex(",(?=(?:[^\"]*\"[^\"]*\")*(?![^\"]*\"))");
    String[] Fields = CSVParser.Split(Test);


    // clean up the fields (remove " and leading spaces)
    for (int i = 0; i < Fields.Length; i++)
    {
        Fields[i] = Fields[i].TrimStart(' ', '"');
        Fields[i] = Fields[i].TrimEnd('"');
    }