首页 > 解决方案 > adf 函数根据模式仅读取文件名的某些部分

问题描述

我有文件名 SMP_ACC_STG_20210987654.txt 和另一个文件名 SMP_ACC_STG_BS_20210987654.txt。我可以使用@substring(item().name,0,11) 并且我得到第一个文件的 SMP_ACC_STG 是正确的,但是对于第二个文件我需要将文件名作为 SMP_ACC_STG_BS 并且它返回与第一个文件相同的文件名,因为我已经对子字符串中的长度。我尝试使用 indexof 但它没有给我预期的结果。

我需要提取 _20210987654.txt 之前的文本并将其用作文件名。

标签: azureazure-sqlazure-adf

解决方案


我使用了以下内容,并获得了我的文件名:

@substring(item().name,0,lastindexof(item().name,'_'))

这给了我:

SMP_ACC_STG
SMP_ACC_STG_BS

推荐阅读