从 ADF 中的文件名中提取文本

问题描述 投票:0回答:1

我的文件名类似于 20200405_Apples.xlsx 或 Bananas_20230423.txt,其中日期可以位于前面或末尾。 我想删除日期并获取像 Apples.xlsx 或 Bananas.txt 这样的文件名。 如何在复制活动的 ADF 表达式中提取该内容。我想在复制活动的水槽中使用它。请有人帮忙。

azure azure-data-factory expression
1个回答
0
投票

source_name 的类型为 20200405_Apples.xlsx 或 Bananas_20230423.txt,由 3 部分组成 - 日期、水果、扩展名。因此,首先使用 split 函数获得 3 个部分,并设置 3 个不同的变量。

我们不知道日期和水果的顺序。它可以是 date_fruit.extension 或fruit_date.extension。

这里,对于 Bananas_20230423.txt 的输入(source_name),

part1=Bananas
part2=20230423
extension=txt

没有明确的函数来检查字符串是日期还是字母。所以,我在ADF动态表达式中使用了更大的功能。

Greater 函数检查第一个值是否大于第二个值,否则返回 True 和 False。将第 1 部分与第 2 部分(即香蕉与 20230423)进行比较,返回 True。对于 20200405_Apples.xlsx,它将把 20200405 与 Apples 进行比较并返回 False。将其包裹在 If 条件中,这样,如果为 true,您将知道第 1 部分是水果,如果为 false,则第 2 部分是水果。与我们之前获得的扩展名连接起来,您就得到了接收器名称。

© www.soinside.com 2019 - 2024. All rights reserved.