gpt4 book ai didi

C# 拆分逗号分隔值

转载 作者:行者123 更新时间:2023-12-02 04:41:45 25 4
gpt4 key购买 nike

如何将逗号分隔的字符串与也可以包含逗号的带引号的字符串拆分?

示例输入:

John, Doe, "Sid, Nency", Smith

预期输出:

  • 约翰
  • 母鹿
  • 席德,南希
  • 史密斯

可以用逗号分隔,但我要求允许使用“Sid, Nency”之类的字符串。我尝试使用正则表达式来拆分这些值。正则表达式 ",(?=([^\"]*\"[^\"]*\")*[^\"]*$)" 来自 Java 问题,它不起作用适合我的 .NET 代码。它可以将一些字符串加倍,找到额外的结果等。

那么拆分此类字符串的最佳方法是什么?

最佳答案

是因为捕获组。把它变成一个非捕获组就可以了:

",(?=(?:[^""]*""[^""]*"")*[^""]*$)"
^^

捕获组将捕获的部分包含在您的结果中。

ideone demo

var regexObj = new Regex(@",(?=(?:[^""]*""[^""]*"")*[^""]*$)");
regexObj.Split(input).Select(s => s.Trim('\"', ' ')).ForEach(Console.WriteLine);

然后只修剪结果。

关于C# 拆分逗号分隔值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20701179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com