通过.replace是否可以替换字符串中的所有回车符?

56

使用.replace函数可以将字符串中的所有换行符替换掉,这是可能的。我找到了很多复杂的函数来实现它,但是想知道是否可以通过正则表达式简化到.replace函数中呢?

谢谢!

3个回答

112

换行符包括 \n(换行)和 \r(回车),都可以创建新的一行。要同时替换这两个符号的所有实例:

s.replace(/[\n\r]/g, '');

请注意,您可能希望将它们替换为单个空格而不是空白。


17
该死的/g总是让我犯难!谁想到默认只替换第一次出现是个好主意? - Tamlyn

15

以下是如何做到的

str = str.replace(/\r/gm,'newChar');

默认情况下,Javascript中的replace()方法只替换第一次出现的内容。解决方法是将第一个参数设置为正则表达式。


2
我正在使用类似的函数将换行符替换为<br>。但我还将\n和\r\n添加到正则表达式中。/\r\n|\r|\n/g - Andrey M.

0
另一个解决方案:
str = str.replace(RegExp(String.fromCharCode(10), 'g'), 'newChar');

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接