删除带有javascript字样的花括号之间的空格
我编写了一个小函数,将模板片段注入HTML,而不使用“大”模板引擎,如EJS、Mustache.js、Nunjucks、Pure.js等 我通过一个键值对象传递这段代码:删除带有javascript字样的花括号之间的空格,javascript,regex,template-engine,Javascript,Regex,Template Engine,我编写了一个小函数,将模板片段注入HTML,而不使用“大”模板引擎,如EJS、Mustache.js、Nunjucks、Pure.js等 我通过一个键值对象传递这段代码: <div><b>@{firstname} @{lastname}</b>, @{gender}</div> {firstname}{lastname},{gender} 现在,如果有人试图用“@{firstname}”代替“@{firstname}”,我需要删除多余的空格 很
<div><b>@{firstname} @{lastname}</b>, @{gender}</div>
{firstname}{lastname},{gender}
现在,如果有人试图用“@{firstname}”代替“@{firstname}”,我需要删除多余的空格
很抱歉,我不知道如何编写正确的正则表达式来删除空格。如何删除空格
谢谢你的支持
更新: 感谢@Saleem的回答。下面是修复程序的演示: 尝试以下正则表达式:
result = subject.replace(/(@\{)\s*(\S+)\s*(?=})/img, "$1$2");
如果您输入的字符串是:
<div><b>@{ firstname } @{lastname}</b>, @{gender}</div>
{firstname}{lastname},{gender}
输出将是:
<div><b>@{firstname} @{lastname}</b>, @{gender}</div>
{firstname}{lastname},{gender}
如您所见,删除了花括号内firstname周围的所有额外空格。请参见此处尝试以下正则表达式:
result = subject.replace(/(@\{)\s*(\S+)\s*(?=})/img, "$1$2");
如果您输入的字符串是:
<div><b>@{ firstname } @{lastname}</b>, @{gender}</div>
{firstname}{lastname},{gender}
输出将是:
<div><b>@{firstname} @{lastname}</b>, @{gender}</div>
{firstname}{lastname},{gender}
如您所见,删除了花括号内firstname周围的所有额外空格。请参见此处。只在文本节点上使用正则表达式。你应该接受他的答案。。只在文本节点上使用正则表达式。你应该接受他的答案。