【发布时间】:2020-09-19 06:35:13
【问题描述】:
我需要拆分一个字符串,其中的数字由任何非数字字符串分隔。 即
"1111/222**3333333///44/ 55555"
我需要得到字符串数组:
[0] 1111
[1] 222
[2] 3333333
[3] 44
[4] 55555
我找到了很多正则表达式示例,但没有一个是正确的。 谢谢。
【问题讨论】:
-
为什么不在
\D+上拆分或匹配所有\d+? -
或者手动完成,将字符串作为
IEnumerable<char>并使用char.IsDigit和StringBuilder 的实例(甚至是同一个) -
如果我匹配 \d+ 我得到一个包含所有数字的字符串,而不是一个带有分隔数字的数组。如果我在 \d+ 上拆分,我会得到一个带有 / ** /// / 的数组
-
大小写在 \d 和 \D 之间很重要。一个用于匹配数字,一个用于匹配非数字。