我有一个Foreach文件枚举器,它将从文件夹中读取pdf文件名并将文件名放入数据库。但是,我希望它排除读取文件名,该文件名包含少于3个下划线。
AAA_BBB_000004554_060420161906_S1234567H_M.pdf
AAA_BBB_000003345_060420161906_S9876543H_S.pdf
AAA_BBB_000008546_060420161906_S1234123H_V.pdf
AAA_BBB_201604.pdf
etc
AAA_BBB_201604.pdf应该在循环中排除,因为文件名只有2个下划线。
我如何存档?我做了一些搜索,似乎使用表达式是关键,但我不知道该怎么做。请帮助,谢谢。
答案 0 :(得分:5)
这可以使用表达式中的TOKENCOUNT函数来完成。
创建2个变量
Foreach循环容器
使用Foreach循环容器并设置Collection - Foreach文件 普查员
指定.pdf文件所在的文件夹位置
在文件下设置“.pdf *:选择单选按钮检索文件名 - 仅限名称
接下来,在Foreach循环容器中放入 Expression 任务并使用以下表达式
接下来,删除执行SQL任务并从表达式任务
连接它 @[User::TokenCount] = TOKENCOUNT( @[User::FileName] ,"_")
这使用TOKENCOUNT函数 - 返回字符串中的标记数(在您的情况下为FileName),其中包含由指定分隔符分隔的标记(在您的情况下为“_”)
将令牌计数分配给int变量 - @ [User :: TokenCount]
在Precedence constraint Editor中,提供以下Constraint Options