我正在使用body.replace(/\r?\n((?!\r?\n)|(?=\r?\n\r?\n\r?\n))/g,'')
来替换换行符,问题是它会将它们全部删除,以防万一有两个或更多的换行符我想保留它们,因为它代表一个段落。
例如:
金钱会让青少年感到压力 这让他们对自己感到不好,并羡慕别人 例如,我的朋友与她的家人住在一起,并且必须与她的妹妹共用一个房间 谁非常可爱和聪明。这个女孩希望她能拥有自己的房间,并且有很多东西,
但她不能拥有这些东西,因为她的家庭没有多少钱 她的家庭收入很低,因为她的父亲年纪大了,不去上班。
我希望它像:
金钱导致青少年感到压力。这让他们对自己感到不好,并羡慕别人。例如,我的朋友与她的家人住在一起,并且与她的妹妹共享一个房间,她的妹妹非常可爱和聪明。这个女孩希望她可以拥有自己的房间,并且有很多东西,但她不能拥有这些东西,因为她的家庭没有多少钱。她的家庭收入很低,因为她的父亲年纪大了,不去上班。
提前致谢。
答案 0 :(得分:3)
你不需要这么复杂的正则表达式。那些环顾四周真的不需要。
你可以简单地使用它:
body.replace(/(\r|\n|\r\n){1,}/g,'$1');
$1
是反向引用。如果在您的正则表达式引擎中使用它,请将其替换为\1
。
答案 1 :(得分:1)
你可以这样做
body.replace(/([^\n])(?:\r?\n)(?=[^\n])/g,"$1");