在分隔后从较大的字符串创建字符串数组

pan*_*o89 5 c# regex linq string split

我有一个字符串输入,看起来像这样var input = "AB-PQ-EF=CD-IJ=XY-JK".我想知道是否有一种string.split()方法在C#和LINQ中使用方法,这样我就可以得到一个看起来像这样的字符串数组var output = ["AB-PQ", "PQ-EF", "EF=CD", "CD-IJ", "IJ=XY", "XY-JK"].目前我通过迭代输入字符串手动进行相同的转换.

Raw*_*ing 7

你能用正则表达式而不是拆分吗?

var input = "AB-PQ-EF=CD-IJ=XY-JK";
var pattern = new Regex(@"(?<![A-Z])(?=([A-Z]+[=-][A-Z]+))");
var output = pattern.Matches(input).Cast<Match>().Select(m => m.Groups[1].Value).ToArray();
Run Code Online (Sandbox Code Playgroud)