2013-08-20 2 views
1

У меня есть столбец со следующими даннымиSSIS Regex компонент сценария

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(); 
    } 

Этот код просто перенаправлять мои все данные в трех

ответ

2

Предполагая, что вторая и третья колонки всегда заканчиваются на период ., вы можете извлечь всю информацию, используя следующее:

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

Спасибо, что много :) – user2588812

+0

@ user2588812 Добро пожаловать. –

Смежные вопросы