我有一个像这种格式的字符串。就我而言,我只需要从字符串大小写中提取字符
1)12AB
2)SD12
3)1WE4
输出
1)AB
2)SD
3)WE
我只需要提取字符。我在 SSIS 包的派生列中使用此表达式
SUBSTRING(MediaIDCode,1,2)
但是这个表达式只适用于这个条件
1)12AB
我需要得到一个适用于上述所有条件的表达式。我尝试过使用REPLACE ( '' , '1', '')
,但它变成了一个很大的表达方式。
我有一个像这种格式的字符串。就我而言,我只需要从字符串大小写中提取字符
1)12AB
2)SD12
3)1WE4
输出
1)AB
2)SD
3)WE
我只需要提取字符。我在 SSIS 包的派生列中使用此表达式
SUBSTRING(MediaIDCode,1,2)
但是这个表达式只适用于这个条件
1)12AB
我需要得到一个适用于上述所有条件的表达式。我尝试过使用REPLACE ( '' , '1', '')
,但它变成了一个很大的表达方式。
您发布的 SUBSTRING 函数代码将从字符串中提取字符而不考虑其内容。
看看使用正则表达式过滤掉不需要的字符:
您还可以使用同步脚本转换以这种方式过滤字符:
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 方法,但还有很多其他方法可供选择。