最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

如何搜索和节点JS替换字符串

IT培训 admin 4浏览 0评论

如何搜索和节点JS替换字符串

我尝试写一些代码,让我传递一个文档作为一个字符串,是纯TXT或HTML,并有一些领域内嵌我想与个人价值来代替。像例如像这样

Hi {{ first_name | fallback: "there" }},

所以查找容易,我会通过字段名与同名的对象。所以我要寻找编码想法如何搜索{{}}部分,然后检查是否字段不是未知的,null或“”如果是在标签应用故障预置值。这有点像邮件合并,但我不想部份是一个的docx文件和输出Word或PDF格式。我只是想处理的字符串,所以我可以传回给我的邮件代码和发送消息

回答如下:

程序将执行以下操作来实现你的输出,

  1. 获取{{}}之间封闭的字符串
  2. 通过拆分的|
  3. 删除使用trim()不必要的空间
  4. 检查并发现fallback
  5. Replace具有所需值的刺痛

下面是示例程序将由步骤做工序中的上述操作。

var str = 'Hi {{ first_name | fallback: "there" }},'
var data = {
    first_name: "siva",
    last_name: "sankar",
    code: 29
}

function templateRender(str, data) {
    return str.replace(/{{([^}]+)}}/g, function (match, string) {
        var fallback = ''
        var stringArr = string.split("|");
        var value = stringArr[0].trim();

        if (stringArr[1]) { fallback = stringArr[1].match(/(?<=fallback\:\s?)(["'].*?["'])/)[0].replace(/["']/g, "").trim(); }
        return data[value] ? data[value] : fallback;
    });
}

console.log("New String :::: ", templateRender(str, data));

如何搜索和节点JS替换字符串

我尝试写一些代码,让我传递一个文档作为一个字符串,是纯TXT或HTML,并有一些领域内嵌我想与个人价值来代替。像例如像这样

Hi {{ first_name | fallback: "there" }},

所以查找容易,我会通过字段名与同名的对象。所以我要寻找编码想法如何搜索{{}}部分,然后检查是否字段不是未知的,null或“”如果是在标签应用故障预置值。这有点像邮件合并,但我不想部份是一个的docx文件和输出Word或PDF格式。我只是想处理的字符串,所以我可以传回给我的邮件代码和发送消息

回答如下:

程序将执行以下操作来实现你的输出,

  1. 获取{{}}之间封闭的字符串
  2. 通过拆分的|
  3. 删除使用trim()不必要的空间
  4. 检查并发现fallback
  5. Replace具有所需值的刺痛

下面是示例程序将由步骤做工序中的上述操作。

var str = 'Hi {{ first_name | fallback: "there" }},'
var data = {
    first_name: "siva",
    last_name: "sankar",
    code: 29
}

function templateRender(str, data) {
    return str.replace(/{{([^}]+)}}/g, function (match, string) {
        var fallback = ''
        var stringArr = string.split("|");
        var value = stringArr[0].trim();

        if (stringArr[1]) { fallback = stringArr[1].match(/(?<=fallback\:\s?)(["'].*?["'])/)[0].replace(/["']/g, "").trim(); }
        return data[value] ? data[value] : fallback;
    });
}

console.log("New String :::: ", templateRender(str, data));

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论