2009-01-16 8 views
0

Je souhaite modifier une chaîne. Dans ssis j'ai une étape qui est un "Editeur de transformation de colonne dérivée". J'ai une chaîne telle que:Comment supprimer un modèle de chaîne défini dans SSIS?

edit=style?form=exy?test=x~~StringIWantToRemove 

Je veux supprimer « ~~ StringIWantToRemove » « ~~ » est le séparateur « StringIWantToRemove » est une chaîne aléatoire og toute valeur (à l'exception du delimiter)

Je voudrais essayer de trouver l'indice de ~~ puis len de chaîne, puis supprimer de ce point, mais pas sûr de savoir comment le faire dans ssis.

aide?

Répondre

0

à la fin j'ai utilisé un composant de script:

Dim debugOn As Boolean 
debugOn = False 

If debugOn Then MsgBox(Row.trackingCode) 
If Row.trackingCode <> "" Then 
    ' find the delimiter location 
    Dim endLocation As Integer 
    If debugOn Then MsgBox("index of ~~ is " & Row.trackingCode.ToString().IndexOf("~~", 0)) 
    ' chk if we have ~~ in field, if not in field then -1 is returned 
    If Row.trackingCode.ToString().IndexOf("~~", 0) > -1 Then 
     ' if ~~ at the beginning ie no tracking code 
     If Row.trackingCode.ToString().IndexOf("~~", 0) = 1 Then 
      endLocation = Row.trackingCode.ToString().IndexOf("~~", 0) 
     ElseIf Row.trackingCode.ToString().IndexOf("~~", 0) > 1 Then 
      endLocation = Row.trackingCode.ToString().IndexOf("~~", 0) - 1 
     End If 
     If debugOn Then MsgBox("end of track code is " & endLocation) 
     Row.trackingCode = Row.trackingCode.Substring(1, endLocation) 
    End If 
End If 
1

J'envisagerais d'utiliser une tâche de script avec une regex - c'est probablement plus facile que d'essayer de la distiller dans un one-liner dans une tâche de colonne dérivée.

+0

J'ai essayé de faire SUBSTRING (trackingcode, 1, findString (trackingcode, "~~", 1) - 1) le problème avec le ci-dessus est le "-1" – thiswayup

+0

Je ne pense pas que -1 est votre problème. Je pense que votre problème est que FINDSTRING (trackingCode, "~~", 1) renvoie 0 car il ne trouve pas votre chaîne de recherche. –

Questions connexes