根据字符在字符串中出现的次数在 SSIS 中进行条件拆分

Conditional Split in SSIS based on the number of times a character appears in a string

我想根据特定字符在字符串中出现的次数来拆分数据流。

Source Data:  
R1 - 123@abc.com  
R2 - 567@stu.com  
R3 - 234@fgh.com,456@xyz.com  
R4 - 567@wxy.com,789@pqr.com  
R5 - 678@def.com  

如上所示,4 条记录中有 2 条包含两次“@”符号。我想根据这个字符在一行中出现的次数拆分数据

Expected result  
Flat_File_Once (3 rows)  
R1 - 123@abc.com  
R2 - 567@stu.com  
R3 - 678@def.com  

Flat_File_Twice (2 rows)  
R1 - 234@fgh.com,456@xyz.com  
R2 - 567@wxy.com,789@pqr.com

这在 SQL 中有效,不确定如何在 SSIS 中做到这一点

 len(email) - len(replace(email, '@', '')) > 1

这几乎是相同的公式,只是我们将使用双引号而不是单引号

LEN([email]) - LEN(REPLACE([email], "@", ""))

该表达式生成 @ 字符的实例总数。聪明的方法,我可能会在尝试使用 FINDSTRING

时陷入困境