Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
各位老师:
有一个功能需求,请各位老师赐教。
例一个单元格,输入后,按规则提取数据写到另一个单元格中。
例:数据格式
ABC-001 会按分隔符“-”提取分隔符前三位,再提取分隔符后三位加个分隔符写入另一个单元格。 数据结果: ABC-001
ABC01-020/A 会按分隔符隔“-”提取分隔符前三位,再提取分隔符后三位加个分隔符写入另一个单元格。 数据结果:ABC-020
ABC1-123/AB 会按分隔符隔“-”提取分隔符前三位,再提取分隔符后三位加个分隔符写入另一个单元格。 数据结果:ABC-123
请问老师,是用表达式写还是用代码写?请老师赐教
If e.DataCol.name = "规格型号" Then
Dim vals() As String = e.DataRow("规格型号").Split("-")
If vals.Length >=2 Then
Dim gjz As String = vals(0).SubString(0,3) & "-" & Vals(1).SubString(0,3)
e.DataRow("规格型号关键字") = gjz
End If
End If
狐爸:我借您代码,这样写了,可以,但如果数据写这样就会出错
例数值 ABC-01 而写ABC-010 分隔符后位数够了才可以,如何能够避免呢?
那不这样改一下
Dim vals() As String = "ABC01-01".Split("-")
If vals.Length >=2 Then
Dim n,n1 As Integer
n = iif(Len(Vals(0))<3,Len(Vals(0)),3)
n1 = iif(Len(Vals(1))<3,Len(Vals(1)),3)
Return vals(0).SubString(0,n) & "-" & Vals(1).SubString(0,n1)
End If
真的非常感谢CZY 老师!