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

Power Automate中如何从数组提取指定前缀的字符串值?

在Power Automate中提取数组内指定前缀的字符串

问题背景

原始数组如下:

[
  {
    "Name": "Ca_somethingunkown"
  },
  {
    "Name": "Mv_somethingunkown"
  }
]

需要仅提取以"Mv"为前缀的Name字段值,最终输出单独的字符串(如"Mv_somethingunkown"),而非数组或对象结构。

过往尝试

曾使用Filter Array、Compose、Select操作,结合Startswith/Contains函数,但结果要么是数组形式,要么无输出。最初使用的Filter Array表达式为:@startwith(['Name'],'Mv')

更新进展

调整表达式后,输出了包含单个对象的数组:

{
    "body":  [
        {
            "Name":"Mv_somethingunkown"
        }
    ]
}

但目标是获取纯字符串,而非数组包裹的对象。

解决方案

分步实现(直观易维护)

  1. Filter Array 过滤数组

    • 输入选择目标数组
    • 条件表达式填写:@startswith(item()?['Name'], 'Mv')
    • 此步骤会得到仅包含符合前缀条件的对象数组
  2. Select 提取字段值

    • 输入选择Filter Array的输出
    • 映射项中,值填写:item()?['Name']
    • 此步骤会得到仅含目标字符串的数组(如["Mv_somethingunkown"])
  3. Compose 取数组首个元素

    • 表达式填写:first(body('Select'))
    • 最终输出即为单独的目标字符串

一步式表达式(精简)

若想直接通过一个Compose操作完成,可使用以下表达式(替换你的数组变量名为实际数组的输出引用):

first(xpath(xml(json(concat('{"root":', outputs('你的数组变量名'), '}'))), '//Name[starts-with(text(), "Mv")]/text()'))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 14:52:05