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