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

时间:2014-08-17 09:20:04

标签: c# regex replace newline spaces

之前曾就其他语言问过这个问题,但我无法在C#中使用正则表达式或任何其他算法来解决这个问题。

例如:

  

光合作用维持大气中的氧气水平并提供全部氧气   有机化合物和生命所需的大部分能量   地球。大多数情况下,氧气也作为废物释放。 ((((此处的空间系列建议段落的结尾))))
  虽然光合作用的表现不同但不同   物种,当光的能量被吸收时,过程总是开始   被称为含有绿色叶绿素的反应中心的蛋白质   颜料

格式应为:

  

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

     

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

我该如何完成这项工作?

2 个答案:

答案 0 :(得分:2)

var SpacedText = "Some sample text.           This should be a new paragraph."

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

更改正则表达式中的2,无论你希望它在多少个空格中断。

Environment.NewLine可以替换为您需要的任何换行符分隔符(h <br />或任何列出的here)。

答案 1 :(得分:0)

我能想到的最好的猜测是匹配句子的结尾。和可能的尾随空格,在行尾之前,并替换为。和回车/换行。

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

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

http://regex101.com/r/cU2tF9/1