我在textarea中有一个文本,我使用.value属性读取它。

现在我想从我的文本中删除所有的换行符(当你按Enter时产生的字符)现在使用正则表达式替换,但我如何在正则表达式中指示换行符?

如果不可能,还有别的办法吗?


当前回答

这将用空格替换换行符。

someText = someText.replace(/(\r\n|\n|\r)/gm,"");

阅读这篇文章。

其他回答

var str = "bar\r\nbaz\nfoo";

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

>> "barbazfoo"

如果碰巧你不需要这个htm字符&nbsp shile使用str.replace(/(\r\n|\n|\r)/gm, ""),你可以使用这个str.split('\n').join(");

干杯

Const text = 'test\nwith\nline\nbreaks'

const textwithoutbreak = text.split('\n')。加入(' ')

在mac上,只需在regexp中使用\n来匹配换行符。代码是字符串。Replace (/\n/g, "), ps:后面的g表示匹配所有,而不仅仅是第一个。

在窗户上,它将是\r\n。

最简单的解决方案是:

let str = '\t\n\r this  \n \t   \r  is \r a   \n test \t  \r \n';
str = str.replace(/\s+/g, ' ').trim();
console.log(str); // logs: "this is a test"

.replace() with /\s+/g regexp将整个字符串中的所有空白字符组更改为单个空格,然后使用.trim()结果删除文本前后所有超出的空白。

被认为是空白字符: [\f\n\r\t\v \u00a0\u1680 \u2000 -\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]