在多个分隔符上拆分字符串并将其保留在输出中

Har*_*ock 1 c# arrays string

我有一个字符串,可以是2到N个字符长.我也有4个ocode(每个2个字符长).

有没有办法像这样:

var tmpArray = inputStr.Split(char1, char2, char3, char4).ToArray();
Run Code Online (Sandbox Code Playgroud)

假设操作码是A,B,C,D或8,我有这个字符串AB123456789C123412341234B123数组将是这样的:

一个

123456789

C

123412341234

123

mak*_*iuk 5

这就是你所需要的.

string toSplit = "AB123456789C123412341234B123";
string pattern = @"([ABCD])";
IEnumerable<string> substrings = Regex.Split(toSplit, pattern).Where(i => !String.IsNullOrWhiteSpace(i));
Run Code Online (Sandbox Code Playgroud)

在此测试:http://www.beansoftware.com/Test-Net-Regular-Expressions/Split-String.aspx

您所要做的就是声明一个[...]涉及您想要拆分的所有角色的角色类,然后将其包含在(...)parens中以保留分隔符.

  • 这是正确的答案,但一些解释会改善它.这里的关键部分是使用括号`()`来分组.如果没有括号,则分割字符不包含在输出中. (3认同)
  • 它也返回空字符串 (2认同)