输入:((Why,Heck),(Ask,Me),(Bla,No))
如何将此数据拆分为字符串数组:
Element1 (Why,Heck)
Element2 (Ask,Me)
Element3 (Bla,No)
我尝试了String.Split或String.TrimEnd / Start,但结果总是错误。
Regex会更好吗?
答案 0 :(得分:4)
var input = "((Why,Heck),(Ask,Me),(Bla,No))";
var result = Regex.Matches(input, @"\([^\(\)]+?\)")
.Cast<Match>()
.Select(m => m.Value)
.ToList();
答案 1 :(得分:1)
另一种 - 非正则表达方法应该有效:
string[] result = str.Split(new[]{"),"}, StringSplitOptions.None)
.Select(s => string.Format("({0})", s.Trim('(', ')')))
.ToArray();
答案 2 :(得分:0)
你也可以:
或者您可以使用正则表达式