C#正则表达式。在结果中用括号拆分,不带分隔符

C#正则表达式。在结果中用括号拆分,不带分隔符,c#,regex,C#,Regex,我想在C#中用括号将字符串拆分为Regex,但我不希望结果数组包含分隔符 例如 Regex.Split(“1;2;3”、“(;)”)返回{“1”、“;”、“2”、“;”、“3”}。 这显然在NET2.0中有所改变。以前,它将返回{“1”、“2”、“3”}。 在以后的.Net版本中,我如何做到这一点,使其工作方式与旧的Net版本类似,或类似于在Java String.Split()中的工作方式?这里是否需要正则表达式?会给你完全相同的结果 var numbers = "1;2;3".Split('

我想在
C#
中用括号将字符串拆分为
Regex
,但我不希望结果数组包含分隔符

例如

Regex.Split(“1;2;3”、“(;)”)
返回{“1”、“;”、“2”、“;”、“3”}。

这显然在NET2.0中有所改变。以前,它将返回{“1”、“2”、“3”}。


在以后的.Net版本中,我如何做到这一点,使其工作方式与旧的Net版本类似,或类似于在
Java String.Split()
中的工作方式?

这里是否需要正则表达式?会给你完全相同的结果

var numbers = "1;2;3".Split(';');
如果您仍然想使用
Regex
,只需去掉括号即可

Regex.Split("1;2;3", ";");

你这里需要正则表达式吗?会给你完全相同的结果

var numbers = "1;2;3".Split(';');
如果您仍然想使用
Regex
,只需去掉括号即可

Regex.Split("1;2;3", ";");

不,我当然不需要正则表达式。为了回答这个问题,我简化了这个例子。我有一个需要括号的正则表达式,即:(\s |-|-|-|-|-|)+@D.T.我只能回答所提出的问题,如果解决方案的某些部分无法更改,最好尽早指出,以避免人们发布替代解决方案…因此现在需要问这些问题-为什么需要括号?显然,数据中没有任何类型的括号,因此正则表达式不需要它。谢谢,詹姆斯。你有没有办法写出我在注释中包含的正则表达式,即没有括号的(\s |-|-|-|+)?每一个正则表达式都可以在没有parethese的情况下重写吗?如果没有,是否应该有一种方法可以在不接收分隔符的情况下在正则表达式上拆分?@D.T.对不起,我不确定我是否完全理解您的意思。您对拆分字符串的具体要求是什么?允许多个分隔符吗?这就是你喜欢使用正则表达式的原因吗?谢谢,詹姆斯。多个连续的分隔符必须算作一个分隔符,所以我不知道没有括号怎么做。按照现在的方式,我可以不使用正则表达式,但我可能需要将其更改为(\s |-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-{3})+,而我不知道如何使用常规的String.Split。不管是哪种方式,我都想知道是否可以使用正则表达式执行此操作,并将分隔符保留在结果之外。谢谢。不,我当然不需要正则表达式。为了回答这个问题,我简化了这个例子。我有一个需要括号的正则表达式,即:(\s |-|-|-|-|-|)+@D.T.我只能回答所提出的问题,如果解决方案的某些部分无法更改,最好尽早指出,以避免人们发布替代解决方案…因此现在需要问这些问题-为什么需要括号?显然,数据中没有任何类型的括号,因此正则表达式不需要它。谢谢,詹姆斯。你有没有办法写出我在注释中包含的正则表达式,即没有括号的(\s |-|-|-|+)?每一个正则表达式都可以在没有parethese的情况下重写吗?如果没有,是否应该有一种方法可以在不接收分隔符的情况下在正则表达式上拆分?@D.T.对不起,我不确定我是否完全理解您的意思。您对拆分字符串的具体要求是什么?允许多个分隔符吗?这就是你喜欢使用正则表达式的原因吗?谢谢,詹姆斯。多个连续的分隔符必须算作一个分隔符,所以我不知道没有括号怎么做。按照现在的方式,我可以不使用正则表达式,但我可能需要将其更改为(\s |-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-{3})+,而我不知道如何使用常规的String.Split。不管是哪种方式,我都想知道是否可以使用正则表达式执行此操作,并将分隔符保留在结果之外。谢谢