1

我正在使用body.replace(/\r?\n((?!\r?\n)|(?=\r?\n\r?\n\r?\n))/g,''), 来替换换行符,问题是它会将它们全部删除,以防一个接一个有两个或多个换行符,我想保留它们,因为它代表一个段落。

例如 :

金钱会使青少年感到压力。
这让他们对自己感觉不好并嫉妒其他人。
例如,我的朋友和她的家人住在一起,不得不和她的妹妹共用一个房间,她
非常可爱和聪明。

这个女孩希望她能有自己的房间,有很多东西,
但她不能拥有这些东西,因为她的家人没有多少钱。
她的家庭收入很低,因为她的父亲年纪大了,不去上班。

我希望它像:

金钱会使青少年感到压力。这让他们对自己感觉不好并嫉妒其他人。例如,我的朋友和她的家人住在一起,不得不和她的妹妹共用一个房间,她非常可爱和聪明。

这个女孩希望她能有自己的房间,有很多东西,但她不能拥有这些东西,因为她的家人没有多少钱。她的家庭收入很低,因为她的父亲年纪大了,不去上班。

提前致谢。

4

2 回答 2

3

你不需要这么复杂的正则表达式。真的不需要那些环顾四周。

你可以简单地使用这个:

body.replace(/(\r|\n|\r\n){1,}/g,'$1');

$1是反向引用。\1如果它在您的正则表达式引擎中使用,请将其替换为。

于 2013-07-08T16:32:51.810 回答
1

你可以这样做

body.replace(/([^\n])(?:\r?\n)(?=[^\n])/g,"$1");
于 2013-07-08T16:39:04.523 回答