2

この形式のような文字列があります。私の場合、文字列ケースから文字のみを抽出する必要があります

1)12AB
2)SD12
3)1WE4

出力

1)AB
2)SD
3)WE

文字だけを抽出する必要があります。SSISパッケージの派生列でこの式を使用しています

SUBSTRING(MediaIDCode,1,2)

しかし、この式はこの条件でのみ機能します

1)12AB

上記のすべての条件で機能する式を取得する必要があります。使ってみREPLACE ( '' , '1', '')ましたが大げさな表現になってしまいます。

4

2 に答える 2

3

投稿した SUBSTRING 関数コードは、文字列の内容を考慮せずに文字列から文字を抽出します。

正規表現を使用して不要な文字を除外する方法をご覧ください。

http://consultingblogs.emc.com/jamiethomson/archive/2005/07/04/SSIS-Nugget_3A00_-The-script-component-and-regular-expressions.aspx

于 2012-04-05T14:55:14.680 に答える
1

同期スクリプト変換を使用して、次のように文字をフィルター処理することもできます。

    Dim NewMediaIDCode As String = ""

    For Each c As Char In Row.MediaIDCode
        If Not Char.IsDigit(c) Then
            NewMediaIDCode += c
        End If
    Next

    Row.MediaIDCode = NewMediaIDCode

ここでは IsDigit メソッドを使用しましたが、他にも選択できるメソッドがたくさんあります。

于 2012-04-06T10:02:24.037 に答える