将字符串分解为数组/列表bij字母和非字母字符

时间:2016-03-07 11:37:00

标签: arrays regex string split alphabet

我需要根据设置的字母字符和非字母字符将字符串细分为数组或字符集列表。

例如:

string = - " Hello12 $ th' ere!@ 4"

所需结果= [ - "] [你好] [12 $] [th] ['] [ere] [!@ 4]

有没有人知道如何获得所需的结果?我试图通过搜索regex.split解决方案来实现这一目标,但我无法找到适合我需求的表达式。

2 个答案:

答案 0 :(得分:2)

这个简单的正则表达式可以解决这个问题:([a-zA-Z]+|[^a-zA-Z]+)

测试here

答案 1 :(得分:0)

您可以使用Regex.Split,其模式可以查找字母与非字母usung look-ariund表达式之间的边框:

var t=Regex.Split(s, @"(?<=[a-zA-Z])(?=[^a-zA-Z])|(?<=[^a-zA-Z])(?=[a-zA-Z])");

Demo.