我在textarea中有一个文本,我使用.value属性读取它。
现在我想从我的文本中删除所有的换行符(当你按Enter时产生的字符)现在使用正则表达式替换,但我如何在正则表达式中指示换行符?
如果不可能,还有别的办法吗?
我在textarea中有一个文本,我使用.value属性读取它。
现在我想从我的文本中删除所有的换行符(当你按Enter时产生的字符)现在使用正则表达式替换,但我如何在正则表达式中指示换行符?
如果不可能,还有别的办法吗?
当前回答
你可以在正则表达式中用\n表示换行,用\r表示回车。
var str2 = str.replace(/\n|\r/g, "");
不同的操作系统使用不同的行尾,使用不同的\n和\r组合。这个正则表达式将全部替换。
其他回答
如果碰巧你不需要这个htm字符  shile使用str.replace(/(\r\n|\n|\r)/gm, ""),你可以使用这个str.split('\n').join(");
干杯
换行符(最好是换行符)可以是回车符(CR, \r,在旧的mac上),换行符(LF, \n,在unix包括Linux上)或CR后面跟着LF (\r\n,在windows上)。(与另一个答案相反,这与字符编码无关。)
因此,匹配所有变量的最有效的RegExp文字是
/\r?\n|\r/
如果你想匹配字符串中的所有换行符,使用全局匹配,
/\r?\n|\r/g
分别。然后按照其他几个答案中建议的替换方法进行。(可能您不希望删除换行符,而是使用其他空白符替换它们,例如空格字符,以便单词保持完整。)
使用下面的函数,让您的生活变得简单
最简单的方法是使用正则表达式来检测和替换字符串中的换行符。在这种情况下,我们使用replace函数和要替换的字符串,在我们的情况下是一个空字符串。
function remove_linebreaks( var message ) {
return message.replace( /[\r\n]+/gm, "" );
}
在上面的表达式中,g和m是全局和多行标记
这将用空格替换换行符。
someText = someText.replace(/(\r\n|\n|\r)/gm,"");
阅读这篇文章。
regex中的换行符是\n,因此您的脚本将是
var test = 'this\nis\na\ntest\nwith\newlines';
console.log(test.replace(/\n/g, ' '));