This question already has answers here:
C# split string but keep split chars / separators [duplicate]
(11个答案)
4年前关闭。
我想使用多个分隔符来分割字符串,如下所示:
返回
但是,如果我希望将定界符保留在最终数组中,例如
有没有简单的方法可以做到这一点?
(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();