c# - 用一些逗号分隔符拆分字符串

标签 c# regex

<分区>

我需要拆分下一个字符串

value1,value2[2,5],value3[4,7],value4,value5[7,4]

拆分后我应该有下一个数组:

value1
value2[2,5]
value3[4,7]
value4
value5[7,4]

我不能用逗号分隔,而且我不想让逻辑过于复杂。 我想对此有最简单的逻辑。

感谢您的帮助。

编辑: 我的尝试:

  var parts = Regex.Split(line, "/([^,]+\\[[^,\\]]*\\,[^,\\]]*\\])|([^,]+)|(,,)/g");

最佳答案

你可以在 ,(?!\d+]) 上拆分:

string st = @"value1,value2[21,5],value3[4,7],value4,value5[7,4]";
var output = Regex.Split(st, @",(?!\d+])").ToList();

输出:

value1
value2[2,5]
value3[4,7]
value4
value5[7,4]

关于c# - 用一些逗号分隔符拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38521056/

相关文章:

c# - C# 的最佳库、附加功能和相关内容(包括 ASP.NET)

c# - 值不在 WriteableBitmap 异常范围内

regex - 如何在 Notepad++ 中将带连字符的单词与正则表达式合并?

java - 如何使用正则表达式替换字符?

c# - 自定义组合 4 个词典

c# - 使用 MEF 时,为我的插件使用 app.config 的正确方法是什么?

regex - 替换除行尾以外的值

javascript - RegEx 仅在其他字符不存在时才匹配结束字符

c# - ASP.NET:在哪里可以找到快速的自定义成员(member)资格提供商

java - 替换 xml 字符串中的所有正则表达式