我在textarea中有一个文本,我使用.value属性读取它。
现在我想从我的文本中删除所有的换行符(当你按Enter时产生的字符)现在使用正则表达式替换,但我如何在正则表达式中指示换行符?
如果不可能,还有别的办法吗?
我在textarea中有一个文本,我使用.value属性读取它。
现在我想从我的文本中删除所有的换行符(当你按Enter时产生的字符)现在使用正则表达式替换,但我如何在正则表达式中指示换行符?
如果不可能,还有别的办法吗?
当前回答
Var STR = " \n this is a string \n \n \n" console.log (str); console.log (str.trim ());
String.trim()删除字符串开头和结尾的空格…包括换行。
const myString = " \n \n\n Hey! \n I'm a string!!! \n\n";
const trimmedString = myString.trim();
console.log(trimmedString);
// outputs: "Hey! \n I'm a string!!!"
这里有一个例子:http://jsfiddle.net/BLs8u/
注意!它只修饰字符串的开头和结尾,而不修饰字符串中间的换行符或空格。
其他回答
在mac上,只需在regexp中使用\n来匹配换行符。代码是字符串。Replace (/\n/g, "), ps:后面的g表示匹配所有,而不仅仅是第一个。
在窗户上,它将是\r\n。
要删除新的行字符,使用以下命令:
yourString.replace(/\r?\n?/g, '')
然后你可以删除字符串的前导和尾随空格:
yourString.trim()
var str = "bar\r\nbaz\nfoo";
str.replace(/[\r\n]/g, '');
>> "barbazfoo"
你可以在正则表达式中用\n表示换行,用\r表示回车。
var str2 = str.replace(/\n|\r/g, "");
不同的操作系统使用不同的行尾,使用不同的\n和\r组合。这个正则表达式将全部替换。
最简单的解决方案是:
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]