Typescript 根据规则替换字符串中的单词

Typescript 根据规则替换字符串中的单词,typescript,Typescript,我有一根这样的绳子 "Hello {{firstName}}, this is {{senderName}}." 规则 rules = { firstName: "Alex", senderName: "Tracy" } 预期结果 "Hello Alex, this is Tracy." 我需要一个泛型函数将具有相应规则的任何字符串转换为新字符串 另一个例子: let array = "Hello {{firstName}} {{lastName}}, this is {{send

我有一根这样的绳子

"Hello {{firstName}}, this is {{senderName}}."
规则

rules = {
  firstName: "Alex",
  senderName: "Tracy"
}
预期结果

"Hello Alex, this is Tracy."
我需要一个泛型函数将具有相应规则的任何字符串转换为新字符串

另一个例子:

let array = "Hello {{firstName}} {{lastName}}, this is {{senderName}}."
rules = {
  firstName: "Alex",
  lastName: "James",
  senderName: "Tracy"
}
expectedResult = "Hello Alex James, this is Tracy." 

感谢您的帮助。

您可以循环并用值替换所有变量

    function resolve_str(rules,str){
      for(let i in rules){
        str = str.replace("{{"+i+"}}", rules[i]);
      }
      return str;
    }

    let array = "Hello {{firstName}} {{lastName}}, this is {{senderName}}."
    rules = {
      firstName: "Alex",
      lastName: "James",
      senderName: "Tracy"
    }

    console.log(resolve_str(rules,array));

您可以循环并用值替换所有变量

    function resolve_str(rules,str){
      for(let i in rules){
        str = str.replace("{{"+i+"}}", rules[i]);
      }
      return str;
    }

    let array = "Hello {{firstName}} {{lastName}}, this is {{senderName}}."
    rules = {
      firstName: "Alex",
      lastName: "James",
      senderName: "Tracy"
    }

    console.log(resolve_str(rules,array));

您可以利用可以传递给以下对象的:

const str=“你好{{{firstName}{{{lastName}},我是{{senderName}。”
常量映射={
名字:“亚历克斯”,
姓:“詹姆斯”,
senderName:“特蕾西”
}
const compile=(模板,规则)=>template.replace(/{{(+?)}}/g,(匹配,组)=>rules[group]);
const result=compile(str,映射);

控制台日志(结果)您可以利用可以传递给以下对象的

const str=“你好{{{firstName}{{{lastName}},我是{{senderName}。”
常量映射={
名字:“亚历克斯”,
姓:“詹姆斯”,
senderName:“特蕾西”
}
const compile=(模板,规则)=>template.replace(/{{(+?)}}/g,(匹配,组)=>rules[group]);
const result=compile(str,映射);

控制台日志(结果)@Alex我的荣幸。@Alex我的荣幸。