首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Javascript删除` `strings` `中的空格

Javascript删除` `strings` `中的空格
EN

Stack Overflow用户
提问于 2018-09-21 03:52:01
回答 6查看 1.4K关注 0票数 1

I JavaScript `在编写大字符串时非常有用。我的问题是,它考虑了JavaScript中它之前的空白量。因此,如果您的字符串在JavaScript中缩进,那么它也将在字符串中缩进。有什么方法可以摆脱它吗?

因为在这样的示例中,我希望html标记与字符串中的左侧对齐,但不想让它与JavaScript中的左侧对齐。检查console.log是如何更好地理解它的。

代码语言:javascript
复制
MyFunction = function() {
  console.log(`
    <html>
      <head>
      </head>
      <body>
      </body>
    </html>
  `);
}

MyFunction();

console.log:

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2018-09-21 04:20:51

由于您希望它们的html标记与左侧齐平,但仍然希望headbody相对缩进,因此您需要的是将每行开头的一组4个空格替换为一个空字符串。

代码语言:javascript
复制
string.replace(/^ {4}/gm, '')

这是实时代码..

代码语言:javascript
复制
MyFunction = function() {
  console.log(`
    <html>
      <head>
      </head>
      <body>
      </body>
    </html>
  `.replace(/^ {4}/gm, ''));
}

MyFunction();

票数 3
EN

Stack Overflow用户

发布于 2018-09-21 03:53:17

你是说trim空格?

代码语言:javascript
复制
MyFunction = function() {
  console.log(`
    <html>
      <head>
      </head>
      <body>
      </body>
    </html>
  `.trim());
}

MyFunction();

如果你想为你所有的标签自动缩进,我会选择一个库,也许是像pretty这样的库。

不需要在这里发明轮子。

票数 2
EN

Stack Overflow用户

发布于 2018-09-21 04:11:18

我会做以下事情:

代码语言:javascript
复制
MyFunction = function() {
  /*however many spaces you want to remove from the front*/
  const spaces = '    '; // four spaces
  /* or */
  const spacesRegex = /\s+/g;
  let str = '';
  const html = `
    <html>
      <head>
      </head>
      <body>
      </body>
    </html>
  `.split('\n')
  .forEach(line=>{
    str += line.replace(spaces, '') + '\n';
  });
  console.log(str);

}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52432352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档