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

在Logic Apps的DotLiquid转换中按长度拆分字符串的方法

在Logic Apps的DotLiquid中拆分字符串并生成指定JSON结构

要实现将指定字符串拆分为最长35字符的片段,并生成JSON数组结构,你可以直接利用DotLiquid的slice过滤器和while循环完成,具体实现如下:

核心DotLiquid模板代码

假设你传入Logic Apps的原始字符串变量名为inputString,对应的DotLiquid模板如下:

{
  "segments": [
    {% assign remaining = inputString %}
    {% while remaining.size > 0 %}
      {% assign segment = remaining | slice: 0, 35 %}
      "{{ segment }}"{% if remaining.size > 35 %},{% endif %}
      {% assign remaining = remaining | slice: 35 %}
    {% endwhile %}
  ]
}

代码逻辑说明

  1. 初始化剩余字符串:用remaining变量存储未处理的字符串部分,初始值为完整的输入字符串。
  2. 循环处理片段:通过while循环持续处理,直到remaining长度为0:
    • 每次用slice: 0, 35截取remaining的前35个字符作为当前片段;
    • 输出片段的字符串形式,同时判断如果还有剩余内容(长度大于35),就在片段后加逗号,保证JSON语法合法;
    • 更新remaining为截取后剩下的部分(从第35位开始到字符串结尾)。

目标字符串的输出示例

对于输入字符串 VIP tickets John Smith concert today at 4pm and later dinner,生成的JSON结果如下:

{
  "segments": [
    "VIP tickets John Smith concert today at 4pm",
    " and later dinner"
  ]
}

(注:实际拆分的具体分界由字符串长度自动计算,确保每段字符数不超过35)

注意事项

  • 确保模板中使用的变量名和Logic Apps里传入的参数名完全一致;
  • slice过滤器在DotLiquid中的语法是slice(start_index, length),slice: 35等价于从索引35开始取到字符串末尾;
  • 循环中的逗号判断是关键,避免最后一个元素后出现多余逗号导致JSON解析失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 08:40:42