Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从字符串中删除额外的空格、换行符和$nbsp_Javascript_Regex_Trim - Fatal编程技术网

Javascript 从字符串中删除额外的空格、换行符和$nbsp

Javascript 从字符串中删除额外的空格、换行符和$nbsp,javascript,regex,trim,Javascript,Regex,Trim,我怎么才能把它转过来 \n <!DOCTYPE html >\n <html>\n <body>\n <p>test&nbsp;&nbsp;</p>\n <select multiple=\"multiple\">\n <option

我怎么才能把它转过来

\n            <!DOCTYPE html >\n            <html>\n                <body>\n                <p>test&nbsp;&nbsp;</p>\n                <select multiple=\"multiple\">\n                    <option value=\"1\" correct=\"true\">red</option><option value=\"2\" correct=\"false\">Blue</option>\n                </select>\n                <p visible-if=\"correct\">Yeah correct</p>\n                <p visible-if=\"wrong\">Wrong dude</p>\n                </body>\n            </html>\n 

您的正则表达式不正确

Node.js CLI的输出示例:


“\n…您的字符串在这里…\n”。替换(/[\r\n]/g',)。替换(/\s+/g',)。替换(/>/g',>)。替换(/>我认为这将使技巧:

let result = null;
let input = `     <!DOCTYPE html >  
<html>             <body>`;

result = input.replace(/\s+((?=\<)|(?=$))/g, '');

let result=null;
让输入=`
`;
结果=输入。替换(/\s+(?=\此正则表达式将有所帮助

\s+([])
-匹配

-Macthes

([]\s+
-匹配任何
,后跟空格

let str=`\n\n\n\ntest

\n\n redBlue\n\n则可见是正确的

\n则可见错误的家伙

\n` 让op=str.replace(/\s+([])| |([])\s+/g,“$1$2”)
console.log(op)
您可以使用单个正则表达式来完成它:
/\r?\n?\s\s+\s+(?=>)/g


这里唯一可能的问题是,它不会像code<!doctype>
中那样删除
后的单个空格,但到目前为止我们得到的答案也不会。如果js支持正面外观,您可以将其覆盖,只需添加
|(?你尝试的结果是什么?@LightnessRacesinOrbit这里是结果为什么你认为结果是这样的?谢谢@Stefan Becker这段代码对我有用我刚刚添加了一些代码没用。FIXED@Aslam如果它有帮助,你应该考虑接受和接受答案。+ 1从我的同伙。
.replace(/\r?\n?\s+/g, '').trim();
let result = null;
let input = `     <!DOCTYPE html >  
<html>             <body>`;

result = input.replace(/\s+((?=\<)|(?=$))/g, '');