如何分割数字>字母或字母>数字
本文关键字:数字 何分割 分割 | 更新日期: 2023-09-27 18:04:13
我需要这样的东西:
test123tersre23
变成这样:
{"test", "123", "tersre", "23"}
我见过很多使用组的解决方案,但我需要使用Regex。在这里分割(因为我已经在里面有一些其他自定义的分割逻辑)。
帮忙吗?
您可以使用lookaround断言进行分割:
string[] result = Regex.Split("test123tersre23", @"(?<='d)(?=[a-zA-Z])|(?<=[a-zA-Z])(?='d)");
这将对断言所查找的字符之间的空白(空格)进行分割。
如何:
Regex.split(input, "('d+)");
使用一组捕获括号,它应该输出任何数字序列作为分隔符,如本例所示。这对您打算如何解析做了一些假设,但无论如何,这似乎是正确的想法。
根据下面的评论,你正在寻找类似
的内容@"($|%|'d+)"
这就是你要找的正则表达式:
然后,使用正则表达式。匹配方法来获取结果。代码看起来像这样:' d + | ' d +
var input = "test123tersre23"
var pattern = @"'d+|'D+"
var results = Regex.Matches(input, pattern);
这个结果包含一个MatchCollection。循环遍历它们以获取值:
foreach(Match m in results)
{
var current = m.Value;
}
编辑:对不起,我没有看到你需要一个拆分方法的解决方案,我道歉。