将字母数字字符串拆分为分别包含字母和数字字符的数组

Nvx*_*Nvx 5 c# arrays string split list

我正在寻找一种分割字母数字字符串的方法

"Foo123Bar"
Run Code Online (Sandbox Code Playgroud)

进入一个包含它的数组

array[0] = "Foo"
array[1] = "123"
array[2] = "Bar"
Run Code Online (Sandbox Code Playgroud)

我不确定实现这一目标的最佳方法是什么,特别是因为我所比较的字符串没有特定的模式,只要它是第一个,字母或数字,或者它们各自出现的次数.例如,它可能看起来像以下任何一种:

"Foo123Bar"
"123Bar"
"Foobar123"
"Foo123Bar2"
Run Code Online (Sandbox Code Playgroud)

我试图找出是否有更有效的方法来做这个,除了按字符分割字符串并检查它是否是数字.

I4V*_*I4V 12

string input = "Foo123Bar";
var array = Regex.Matches(input, @"\D+|\d+")
                 .Cast<Match>()
                 .Select(m => m.Value)
                 .ToArray();
Run Code Online (Sandbox Code Playgroud)