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



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

例如:

字符串 = -"Hello12$th'ere!@4"

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

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

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

在这里进行测试。

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

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

演示。

最新更新