如何在Javascript中删除所有相邻的换行符和空格并用单个换行符替换它们?

时间:2017-10-03 15:46:10

标签: javascript regex newline whitespace removing-whitespace

假设我有这样的字符串:




  Hello,\ n \ r \ n \ n \ n \ n World \ n \ n!& #xA;  




我希望它看起来像这样:




  Hello ,
 World
!
  




因此,只要有两个或多个相邻的换行符或换行符与单个或更多的空格,它应该用单个换行符替换它们。





如何在JavaScript中实现这一点?




1 个答案:

答案 0 :(得分:0)

您可以使用/(?: *[\n\r])+ */

  • *[\n\r]匹配文字空格,后跟新行字符;
  • 使用+匹配一个或多个连续的空白+新行字符;
  • 使用*匹配模式末尾的零个或多个空格;



var s = "Hello,     \n\r  \n\n\n \n      World \n\n     ! \n A new line";

console.log(s);

console.log(s.replace(/(?: *[\n\r])+ */g, '\n'));