拆分用逗号分隔但不拆分双值的字符串

本文关键字:拆分 字符串 分用 分隔 | 更新日期: 2023-09-27 18:24:07

这是我从csv:中得到的字符串

string input = "Volume,447,'"4,325'",142,144";

在我的数组行中我想要什么:

447
4,325
142
144

我尝试过的:

string[] volumes;
if (input.Contains(",'"")) // if they're all double value, it works
     volumes = input.Split(new[] {",'""}, StringSplitOptions.None);
else
     volumes= input.Split(','); // if they're all integer value it works
else
     // what to do if they have both double and integer?

拆分用逗号分隔但不拆分双值的字符串

您将需要引用Microsoft.VisualBasic(如果使用C#进行编码,则为事件)来编译以下代码。

    private string[] ParseCsv(string line)
    {
        var parser = new TextFieldParser(new StringReader(line));
        parser.TextFieldType = FieldType.Delimited;
        parser.SetDelimiters(",");
        while (!parser.EndOfData)
        {
            return parser.ReadFields();
        }
        parser.Close();
        return new string[0];
    }