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

标签 c# arrays string list split

我正在寻找一种拆分字母数字字符串的方法,例如

"Foo123Bar"

像这样放入一个包含它的数组

array[0] = "Foo"
array[1] = "123"
array[2] = "Bar"

我不确定实现此目的的最佳方法是什么,特别是因为我比较的字符串不遵循特定模式,无论是字母还是数字,或者它们各自出现的次数。例如,它可能看起来像以下任何一种:

"Foo123Bar"
"123Bar"
"Foobar123"
"Foo123Bar2"

除了逐字符拆分字符串并检查它是否为数字之外,我正在尝试找出是否有更有效的方法来执行此操作。

最佳答案

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

关于c# - 将字母数字字符串拆分为分别包含字母和数字字符的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18992292/

相关文章:

javascript - 如何以不可变的方式更新数组

c++ - 在函数调用中声明数组

Python - 以一种奇怪的方式替换字符串;

AI 游戏的 Java 代码

c# - 在 pcl 中创建未初始化的对象

c# - 如何收听 TPL TaskStarted/TaskCompleted ETW 事件

c# - 如何使用 C# 启动或停止 IIS 以及远程计算机中的 Windows 服务

android - 特殊字符显示为问号哈希

c# - 是否有任何方法可以截断字符串的一部分,直到在 C# 中遇到第一个数字?

c# - 需要数据库建议->柱状,嵌入式(如果可能)