var strObj = '\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n{"text": true, ["text", "text", "text", "text"], [{ "text", "text" }]}\n\n\n'
我试图通过剥离\n
来清理字符串,但是当我.replace(/\\\n/g, '')
时它似乎没有抓住它。我也在谷歌搜索并找到了:
..根据JavaScript正则表达式语法,您需要在正则表达式文字中使用两个反斜杠字符,例如
/\\/
或/\\/g
。
但即使我测试表达式只是为了捕获反斜杠,它也会返回false:
(/\\\/g).test(strObj)
RegEx测试人员正确捕获\n
:http://regexr.com/3d3pe
答案 0 :(得分:11)
应该只是
.replace(/\n/g, '')
除非字符串实际上是
'\\n\\n\\n...
它将是
.replace(/\\n/g, '')
答案 1 :(得分:4)
此处无需使用RegEx ,请使用String#trim
删除前导和尾随空格。
var strObj = '\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n{"text": true, ["text", "text", "text", "text"], [{ "text", "text" }]}\n\n\n';
var trimmedStr = strObj.trim();
console.log('Before', strObj);
console.log('--------------------------------');
console.log('After', trimmedStr);
document.body.innerHTML = trimmedStr;
答案 2 :(得分:3)
你不需要反斜杠。
var strObj = '\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n{"text": true, ["text", "text", "text", "text"], [{ "text", "text" }]}\n\n\n';
strObj.replace(/\n/g, '');
此代码按预期工作。
" {" text":true,[" text"," text"," text",&#34 ; text"],[{" text"," text" }]}"