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

Power Query中Text.BeforeDelimiter未找到分隔符时返回空值的方法

在Power Query中实现提取---前文本,无分隔符返回空值

可以通过以下几种M代码实现需求:

方法一:判断分隔符存在性后处理

先检查字段是否包含---,存在则提取前半部分,不存在返回空字符串:

= if Text.Contains([目标字段名], "---") then Text.BeforeDelimiter([目标字段名], "---") else ""

方法二:通过位置判断实现

先获取---在文本中的位置,若找不到位置(返回-1)则返回空,否则提取对应范围的文本:

= let
    delimiterPos = Text.PositionOf([目标字段名], "---")
in
    if delimiterPos = -1 then "" else Text.Range([目标字段名], 0, delimiterPos)

说明:

  • 两种方法都能处理空字段、无---的字段,返回空值;
  • 针对分组后包含多个---的字段(如示例中多行带分隔符的内容),会提取第一个---之前的所有文本,符合需求;
  • 提取结果会保留---之前的换行和格式,与原文本一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 05:22:10