极奇策RPA技术教程:字符串模板格式化 (NodeFStringTemplate) - 自动化开发与配置详细指南

字符串模板格式化
📖 节点概述
使用变量占位符对字符串模板进行格式化。模板中的占位符以 {变量名} 形式出现,节点会自动提取变量名,并为每个变量生成对应的输入端口。运行时将各端口的实际值替换到模板中,生成最终字符串。该节点为纯数据节点,无执行端口。
💡 黄金使用场景:
- 动态消息生成:根据用户信息生成欢迎语、通知内容等。
- 邮件/短信模板:填充姓名、订单号、日期等变量到预设模板。
- 配置字符串拼接:将多个变量值按固定格式组合。
- 代码/脚本生成:根据参数动态生成代码片段或配置文件。
- 多语言文本构建:将翻译后的模板与变量值结合。
🎮 实战连线指南:如何正确使用它?
节点有一个固定输入端口 模板,以及根据模板内容动态生成的变量输入端口。输出端口 结果 输出格式化后的字符串。
场景案例:生成个性化欢迎消息
- 准备模板:在“模板”输入框中填写
"Hello {name}, welcome to {city}!"。 - 自动生成端口:节点会动态创建
name和city两个输入端口。 - 提供变量值:
- 从【变量获取】节点读取
user_name = "张三",连接到name端口。 - 从【常量】节点提供
"北京",连接到city端口。
- 从【变量获取】节点读取
- 获取结果:
结果输出"Hello 张三, welcome to 北京!"。 - 后续使用:将消息发送到通知系统或写入日志。
模板示例:
- 模板:
"Order {order_id} total: {total} USD" - 变量端口:
order_id、total - 填充后:
"Order 10086 total: 299.00 USD"
⚙️ 引脚与参数说明
📥 输入引脚
| 引脚名称 | 数据类型 | 说明 |
|---|---|---|
| 模板 | STRING | 包含占位符的字符串模板。占位符格式:{变量名}。 |
| {变量名}(动态) | ANY | 根据模板中出现的变量名动态生成。每个变量对应一个输入端口,接受任意类型值(内部自动转为字符串)。 |
⚙️ 控件参数
| 控件名称 | 类型 | 说明 |
|---|---|---|
| 模板 | 单行文本框 | 手动输入模板字符串。当连线传入数据时,连线值优先。 |
| {变量名}(动态) | 单行文本框 | 每个动态变量对应的默认值输入框,可在未连线时手动填写。 |
📤 输出引脚
| 引脚名称 | 数据类型 | 说明 |
|---|---|---|
| 结果 | STRING | 将变量替换到模板后生成的最终字符串。 |
🔧 工作流程
- 读取模板字符串(连线值或控件内容)。
- 使用正则表达式
\{([^{}]+)\}提取所有变量名(去重,保持首次出现顺序)。 - 根据提取的变量名动态创建输入端口(如果尚未存在)。若模板变化,移除不再需要的端口,添加新缺失的端口。
- 运行时,从每个变量端口获取实际值(连线优先,否则用控件默认值)。若某个变量无值,则保留原始占位符
{变量名}。 - 调用
str.format_map()进行替换,返回结果。
⚠️ 注意事项
- 变量名规则:占位符中可包含字母、数字、下划线、点号、中括号等(不建议使用空格或特殊符号,以免解析错误)。花括号内不能嵌套花括号。
- 缺失变量处理:如果某个变量在运行时没有提供值(未连线且控件为空),节点会保留原始占位符(例如
{name}),以便用户识别缺失项。 - 动态端口刷新:修改模板后,变量端口会自动增删。删除的端口上的连线会被断开,请留意。
- 类型转换:所有变量值均通过
str()转换为字符串。数字、布尔值、列表等均可正常拼接。 - 转义花括号:如需在输出中包含字面花括号
{或},请使用双花括号{{和}}(例如"{{name}}"会输出"{name}")。 - 性能:模板中变量数量增多时,动态端口管理有一定开销,但运行时格式化效率很高。
💎 小贴士:
- 该节点与 Python 的
str.format()行为一致,支持重复使用同一变量多次(模板中可多处出现{name})。- 可结合【变量获取】节点为不同的变量提供动态值,实现灵活的消息生成。
- 如果模板中包含大量变量,动态端口列表会变长,建议合理组织节点布局。
- 若不需要动态端口(例如变量数量固定),也可以使用【字符串替换】或【多字符串拼接】节点手动实现。
- 与【字符串校验】节点配合,可在填充前验证变量值格式。
这篇文档对您有帮助吗?
您的反馈将帮助我们持续优化文档内容

