This question already has answers here:
C# split string but keep split chars / separators [duplicate]
                                
                                    (11个答案)
                                
                        
                                4年前关闭。
            
                    
我想使用多个分隔符来分割字符串,如下所示:

"aa*ab+ac/ad-ae=af;ag".Split(new string[] { ";", "*", "+", "/", "-" })


返回

{ "aa", "ab", "ac", "ad", "ae", "af", "ag" }


但是,如果我希望将定界符保留在最终数组中,例如

{ "aa", "*", "ab", "+", "ac", "/", "ad", "-", "ae", "=", "af", ";", "ag" }


有没有简单的方法可以做到这一点?

最佳答案

您可以使用正则表达式

var input = "aa*ab+ac/ad-ae=af;ag";
var parts = Regex.Matches(input, @"[;\*\+/=-]|[^;\*\+/=-]+")
                .Cast<Match>()
                .Select(m => m.Value)
                .ToList();

10-06 13:45
查看更多