我需要在C#中拆分一个字符串,格式如下:
"(11)123456(14)ABC123(18)gt567"
期望的结果是字符串数组,例如:
我猜测正则表达可能会涉及但这是我的弱点之一.
var s = "(11)123456(14)abc123(18)gt567";
Regex r = new Regex(@"\(\d+\)\w+");
var matches = r.Matches(s);
string[] array = new string[matches.Count];
for(int i = 0; i < matches.Count; i++)
array[i] = matches[i].Captures[0].Value;
Run Code Online (Sandbox Code Playgroud)
var result = "(11)123456(14)abc123(18)gt567"
.Split(new string[]{"("}, StringSplitOptions.RemoveEmptyEntries)
.Select(i => "(" + i).ToList();
Run Code Online (Sandbox Code Playgroud)