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

Power Query中Text.Middle与Text.Range的区别及选型建议

Text.Middle 和 Text.Range 的区别与使用建议

在Power Query中,Text.Middle和Text.Range的核心功能完全一致——都是用于从指定文本中提取子字符串,日常使用中的行为没有差异:

Text.Middle("Hello, World", 7) // 返回 "World"
Text.Range("Hello, World", 7) // 返回 "World"

Text.Middle("Hello, World", 0, 5) // 返回 "Hello"
Text.Range("Hello, World", 0, 5) // 返回 "Hello"

从函数定义来看,二者仅参数命名有区别(Text.Middle的第二个参数叫start,Text.Range的叫offset),但参数的作用、可选性以及返回结果完全相同:

Text.Middle(text as nullable text, start as number, optional count as nullable number) as nullable text
Text.Range(text as nullable text, offset as number, optional count as nullable number) as nullable text

二者的本质区别

它们的差异主要来自历史迭代和命名规范:

  • Text.Middle是Power Query早期版本就存在的函数,命名更偏向“从文本中间截取”的语义;
  • Text.Range是后续版本新增的函数,命名更贴合通用编程语言的习惯(比如类似C#的Substring、JavaScript的slice),用“范围(Range)”来描述子字符串的提取逻辑,语义更直观。

优先选择哪个?

  • 如果是维护已有旧代码,直接保留原函数即可,无需替换;
  • 编写新代码时,更推荐使用Text.Range——它的命名更符合通用编程语境,团队协作时更容易被理解;
  • 若你或团队习惯Text.Middle的命名,完全可以继续使用,二者在功能上没有任何差异。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 10:37:32