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

Logic App 提取payGrade字符串中AGR片段后末尾子串的表达式方法

实现方案

你可以组合使用 Logic App 内置的 indexOf、substring、split、last、if 函数实现需求,不需要固定截取长度,完整表达式如下:

if(
    greater(indexOf(items('Apply_to_each')?['payGrade'], 'AGR'), -1),
    if(
        greater(
            length(split(substring(items('Apply_to_each')?['payGrade'], add(indexOf(items('Apply_to_each')?['payGrade'], 'AGR'), 3)), '-')),
            1
        ),
        last(split(substring(items('Apply_to_each')?['payGrade'], add(indexOf(items('Apply_to_each')?['payGrade'], 'AGR'), 3)), '-')),
        ''
    ),
    ''
)

表达式逻辑说明

  • 第一层判断先校验当前payGrade是否包含AGR字段,不存在直接返回空值,避免函数报错
  • 找到AGR的起始索引后,加3跳过AGR三个字符,截取后续所有内容
  • 将截取到的内容按-分割为数组,判断数组长度:
    • 长度大于1,说明AGR后还有用-分隔的后缀,取数组最后一个元素即为所需结果
    • 长度等于1,说明AGR后没有其他分隔内容,返回空值

适配场景说明

如果你的逻辑是在Select操作中使用,把表达式里的items('Apply_to_each')?['payGrade']替换为item()?['payGrade']即可直接使用。

测试验证结果

对应你给出的3条测试数据,返回结果和预期完全匹配:

  • KF15-314-370-AGR342-PD1 → 返回PD1
  • KF14-269-313-AGR291-R4 → 返回R4
  • KF14-269-313-AGR289 → 返回空值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 10:54:00