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 回答