C#用换行符替换字符串中的多个空格

C#用换行符替换字符串中的多个空格,c#,regex,replace,newline,spaces,C#,Regex,Replace,Newline,Spaces,这个问题以前在其他语言中也被问过,但我找不到任何关于在C#中使用正则表达式或任何其他算法来解决这个问题的方法 例如: 光合作用维持大气中的氧气水平,并提供所有氧气 地球上生命所需的有机化合物和大部分能量 地球。在大多数情况下,氧气也作为废物释放(((这里的一系列空格表示段落结尾)) 虽然光合作用是由不同的物种完成的 当光的能量被吸收时,这个过程就开始了 由一种叫做反应中心的蛋白质组成,其中含有绿色叶绿素 颜料 格式应为: 光合作用维持大气中的氧气水平,并提供所有氧气 地球上生命所需的有机化合物和

这个问题以前在其他语言中也被问过,但我找不到任何关于在C#中使用正则表达式或任何其他算法来解决这个问题的方法

例如:

光合作用维持大气中的氧气水平,并提供所有氧气 地球上生命所需的有机化合物和大部分能量 地球。在大多数情况下,氧气也作为废物释放(((这里的一系列空格表示段落结尾))
虽然光合作用是由不同的物种完成的 当光的能量被吸收时,这个过程就开始了 由一种叫做反应中心的蛋白质组成,其中含有绿色叶绿素 颜料

格式应为:

光合作用维持大气中的氧气水平,并提供所有氧气 地球上生命所需的有机化合物和大部分能量 地球

虽然不同物种的光合作用表现不同, 这个过程总是从光的能量被吸收开始的 含有绿色叶绿素的称为反应中心的蛋白质 颜料


如何做到这一点?

我能想到的最好的猜测是匹配句子的结尾。以及可能的尾随空格,也就是行的结尾,并将其替换为。和回车/换行符

在这种情况下,正则表达式是

 \.\s*[\r\n]+

将正则表达式中的2更改为您希望其打断的空格数


Environment.NewLine可以替换为您需要的任何新行分隔符(

用于html或列出的任何分隔符)。

在大多数情况下,氧气也会作为废物释放。?:)我想在这一行的末尾用一个新行分隔这一段,先生:)@L.b这有点像:D但我如何更改正则表达式代码,使其在检测到4+个空格量而不是检测到“恰好”4个空格后中断?如果你使用正则表达式,您会发现,该数字仅指定要打断的最小空间数。把2换成4,你就走了。
var SpacedText = "Some sample text.           This should be a new paragraph."

var NewlineText = Regex.Replace(SpacedText , @"\s{2,}", Environment.NewLine);