You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用DataWeave替换字符串中的动态变量生成目标文本?

DataWeave实现动态字符串值替换

下面提供两种直接的实现方式,满足你的需求:

方式一:直接字符串插值(模板明确时首选)

利用DataWeave原生的字符串插值语法$(变量),直接构造目标文本:

%dw 2.0
output application/json
// 定义需要替换的变量
var jobName = "test-job"
// 可以指定固定日期,或用now()生成当前格式化日期
var targetDate = "2022-10-11"
// var targetDate = now() as String {format: "yyyy-MM-dd"}
---
"Processing of job $(jobName) started $(targetDate)"

执行后输出:"Processing of job test-job started 2022-10-11"

方式二:replace函数处理模板字符串(模板为传入变量时适用)

如果原模板是一个动态传入的字符串,使用replace结合正则匹配替换占位符:

%dw 2.0
output application/json
// 原模板字符串
var template = "Processing of job {$jobName} started ${yyyy-MM-dd}"
var jobName = "test-job"
var targetDate = "2022-10-11"
// var targetDate = now() as String {format: "yyyy-MM-dd"}
---
template 
    // 正则匹配{$jobName},注意转义特殊字符{和$
    replace /\{\$jobName\}/ with jobName
    // 正则匹配${yyyy-MM-dd}
    replace /\{\$yyyy-MM-dd\}/ with targetDate

执行后同样得到目标文本。

内容的提问来源于stack exchange,提问作者Root

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 05:46:07