拆分CSV字符串

3 .net vb.net csv string split

我该如何分割以下字符串?

test, 7535, '1,830,000', '5,000,000'
Run Code Online (Sandbox Code Playgroud)

结果应该是

test
7535
'1,830,000'
'5,000,000'
Run Code Online (Sandbox Code Playgroud)

我尝试:

Dim S() as string = mystring.split(",")
Run Code Online (Sandbox Code Playgroud)

但我知道,

test
7535
'1
830
000'
'5
000
000'
Run Code Online (Sandbox Code Playgroud)

谢谢

Vin*_*vic 8

如果有方便的高质量库,请不要手动解析CSV .请!

CSV解析有许多潜在的陷阱,根据我的测试,这个库可以很好地解决大部分问题.

也就是说,如果这是一个一次性的任务,字符串总是像你的例子,你可以使用正则表达式,这样(VB.NET语法可能是错误的,请修复):

        Dim s as string = "1, 2, '1,233,333', '8,444,555'";
        Dim r as Regex = new Regex(",\s");
        Dim re() as string = r.Split(s);
Run Code Online (Sandbox Code Playgroud)

这依赖于分隔逗号后总是有一个空格,并且数字之间的逗号中没有空格.如果情况并非总是如此,您可以:

  • 使正则表达式更复杂(看这里看看有多乱)
  • 使用图书馆,更快乐

  • 所以,换句话说,你说你完全同意我:) (2认同)