SSIS Regex组件脚本

本文关键字:脚本 组件 Regex SSIS | 更新日期: 2023-09-27 18:28:18

我有一列包含以下数据

NStreetNames
1245 Thfs Ext. drive.
2454 saaa Ext. Drive.

我希望输出在3个不同的列中,如

One    Two        Three
1245  THfs Ext.   Drive
2454  Saa Ext.    drive
 public override void Input0_ProcessInputRow(Input0Buffer Row)
    {
        /*
          Add your code here
        */
        string Val = Row.NStreetNames.ToString();
        Match match = Regex.Match(Val, @"^(?<One>'w+) (?<Two>'w+)(?: (?<Three>'w+))?$");
        if (match.Success)
        {
            string o = match.Groups["One"].Value;
            string t = match.Groups["Three"].Value;
            string th = null;
            if (match.Groups["Two"].Success)
            {
                th = match.Groups["Two"].Value;
            }
            Row.StreetNumber = o;
            Row.Street = t;
            Row.Address = th;
        }
        else
            Row.StreetNumber = Row.NStreetNames.ToString();
    }

这段代码只是将我的所有数据重定向到三个

SSIS Regex组件脚本

假设第二列和第三列总是以周期.结束,则可以使用以下命令提取所有信息:

^(?<One>'d+)'s(?<Two>['w's]+'.)'s(?<Three>'w+)'.$