1.需求1:获取字符串中 多个${ NSRMC}
步骤:
- 首先获取{}大括号里面的,包括大括号
- 获取到的是包含大括号里数据的数组 [’{NSRMC}’,’{SWSXMC}’]
- 再用replace替换掉大括号
2.需求2:获取除参数以外的字符串的长度
步骤:
- 在字符串中将数组中的内容替换掉
尊敬的纳税人$:,您的$业务已受理通过。请您尽快登录电子税务局,待办事项中完成后续缴款操作 - 再去掉$就可以了
//str:尊敬的纳税人:${NSRMC},您的${SWSXMC}业务已受理通过。请您尽快登录电子税务局,待办事项中完成后续缴款操作。
getSelectTemplate(data) {
this.templateDetail = this.templateList.filter(item => item.templateId === data)[0]
this.isIncludeParam = this.templateDetail.templateContent.includes('${')
//this.templateDetail.templateContent字符串内容
let keywords = this.templateDetail.templateContent.match(/{[^}{]*?}/g)
let contentLength = this.templateDetail.templateContent
keywords = keywords.map(item => { // ['{NSRMC}','{SWSXMC}']
//在字符串中将数组中的内容替换掉
//尊敬的纳税人$:,您的$业务已受理通过。请您尽快登录电子税务局,待办事项中完成后续缴款操作
contentLength = contentLength.replace(item, '')
item = item.replace('{', '')
item = item.replace('}', '')
return item
});
// 去掉${NSRMC}:尊敬的纳税人:,您的业务已受理通过。请您尽快登录电子税务局,待办事项中完成后续缴款操作。
contentLength = contentLength.replace(/\$/g, '')
this.totalNumber = contentLength.length
this.keywordsList = keywords
},