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
相关产品推荐
相关产品推荐

