regex - .NET 框架升级后 RegEx.Split 中的行为发生了变化

标签 regex split

客户升级了他们的系统,他们开始报告输出中的错误。显然,之前的字符串分割导致了以下结果。

"a-b-c"   ->   {"a", "b", "c"}

然而,现在他们明白了。

"a-b-c"   ->   {"a", "-", "b", "-", "c"}

我已经检查过智能感知,但据我所知,没有选项可以打开/关闭包含分隔符。如何轻松解决这一问题?

我想到的最好的建议是使用正则表达式进行拆分,然后使用具有正则表达式匹配条件的链接。不过,这似乎是多余的...

当前版本是4.5。之前,他们有一些很旧的东西,比如 2.0 之类的。

最佳答案

.NET 4.5 的行为是正确的。

捕获组的内容将添加到拆分结果中。因此,Regex.Split("a-b-c", "(-)"); 会将破折号添加到数组中。

使用 Regex.Split("a-b-c", "-"); 代替。

关于regex - .NET 框架升级后 RegEx.Split 中的行为发生了变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16509403/

相关文章:

javascript - 使用正则表达式验证字符串是否是 URL 安全的

regex - 引用-此正则表达式是什么意思?

sql - 在 Postgres 中将列拆分为多行

Python:分割和分析字符串的最有效方法

java - Flex 正则表达式 到 Java 正则表达式

java - 检查字符串中的非数字字符

regex - perl6 语法做替换

python - 训练 '\x00' s 和 TypeError : stat() argument 1 must be encoded string without null bytes, 不是 str

Java 使用正则表达式分割字符串

c# - 如何按 "#"拆分字符串并将结果存储在数据表中