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

如何在Pentaho PDI中获取点字符前的文本?

Pentaho PDI提取点号前字符串的高效实现方法

推荐组件及操作示例

1. Regex Evaluator组件(最精准)

你之前用[^.]*没出结果,核心是没配置捕获分组。正则里的分组就是用()把要提取的内容圈起来,组件靠这个识别要输出的内容。
操作步骤:

  • 把Regex Evaluator拖进转换,连好输入数据流
  • 组件配置:
    • 目标字段:填一个新字段名,比如filename_prefix
    • 要评估的字段:选你存GHIJ.txt的原字段(比如original_file)
    • 正则表达式:^(.*?)\. (解释:^匹配开头,.*?非贪婪匹配到第一个.,()是捕获分组,\.转义匹配点号)
    • 捕获组索引:填1(我们只定义了1个分组,指定索引1就能提取这个分组的内容)
  • 运行后,filename_prefix字段就会得到GHIJ

2. Replace in String组件(最直观)

不想纠结正则分组的话,用这个组件更简单:
操作步骤:

  • 拖入Replace in String组件
  • 配置:
    • 字段:可以选原字段直接修改,也勾选「创建新字段」保留原数据
    • 查找内容:\..* (匹配点号及后面所有内容)
    • 替换内容:留空(把匹配到的部分删掉,剩下的就是点号前的字符串)
    • 勾选「正则表达式」选项
  • 运行后就能得到目标结果GHIJ

关于Regex Evaluator的分组说明

分组就是用()标记你需要提取的特定片段,组件必须知道你要取第几个分组的内容(索引从1开始),否则无法返回有效结果。你之前的正则没有分组,组件不知道该返回什么,所以没输出。加上分组并指定索引后就能正常工作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 11:22:47