Javascript 如何处理模板文本中的外部空白

Javascript 如何处理模板文本中的外部空白,javascript,regex,template-literals,Javascript,Regex,Template Literals,如何处理多行模板文字生成的字符串,以排除通过任何/所有JS代码缩进创建的所有空白 我使用了一个正则表达式替换来去掉第一个测试字符串中的前导空格。但是如果字符串是HTML,它有一个缩进结构,我想保留它呢 //问题:包含大量空白 如果(真){ const aString=`这个字符串 是多行的吗 并缩进以匹配 周围 JS代码` 控制台日志(aString) } //我试过的 如果(真){ const aString=`这个字符串 是多行的吗 并缩进以匹配 周围 JS代码` const newStr

如何处理多行模板文字生成的字符串,以排除通过任何/所有JS代码缩进创建的所有空白

我使用了一个正则表达式替换来去掉第一个测试字符串中的前导空格。但是如果字符串是HTML,它有一个缩进结构,我想保留它呢

//问题:包含大量空白
如果(真){
const aString=`这个字符串
是多行的吗
并缩进以匹配
周围
JS代码`
控制台日志(aString)
}
//我试过的
如果(真){
const aString=`这个字符串
是多行的吗
并缩进以匹配
周围
JS代码`
const newString=aString.replace(/\n[\t]+/g,“\n”)
console.log(新闻字符串)
}
//但是这个呢
如果(真){
常数aString=`
一些文本
`
const newString=aString.replace(/\n[\t]+/g,“\n”)
console.log(新闻字符串)
}
软件包有一个
stripIndent
标签,可以为您执行此操作。但是,您需要在第二行开始该字符串:

const aString = stripIndent`
                            <div class="hello">
                              <div class="inner">
                                <span>Some text</span>
                              </div>
                            </div>
`;

软件包有一个
stripeindent
标记,可以为您执行此操作。但是,您需要在第二行开始该字符串:

const aString = stripIndent`
                            <div class="hello">
                              <div class="inner">
                                <span>Some text</span>
                              </div>
                            </div>
`;


你想得太多了,从DOM的角度来看HTML。您需要的格式可以来自
或带有
空白的标记:pre
。My将使用DOM标记、字符串(使用您的技术)或htmlString的选择器。计算字符是重新发明轮子。你想得太多了,从DOM的角度来看HTML。您需要的格式可以来自
或带有
空白的标记:pre
。My将使用DOM标记、字符串(使用您的技术)或htmlString的选择器。计数字符是重新发明轮子。