Function MakePartNumber(strDrawing As String)
Dim Str1() As String, str2 As String
Dim i As Integer
Str1 = Split(strDrawing, " ")
For i = 0 To UBound(Str1)
If j < Len(Str1(i)) Then
j = Len(Str1(i))
str2 = Str1(i): k = i
End If
Next
MakePartNumber = str2
End Function这段代码是把一个字符串按空格分成若干个部分,取其中最大的字符串。现在我想把这个程序改成可同时按空格和-(横线)分割,请问该怎么写?我写了都没成功!请赐教!
Dim Str1() As String, str2 As String
Dim i As Integer
Str1 = Split(strDrawing, " ")
For i = 0 To UBound(Str1)
If j < Len(Str1(i)) Then
j = Len(Str1(i))
str2 = Str1(i): k = i
End If
Next
MakePartNumber = str2
End Function这段代码是把一个字符串按空格分成若干个部分,取其中最大的字符串。现在我想把这个程序改成可同时按空格和-(横线)分割,请问该怎么写?我写了都没成功!请赐教!
Dim Str1() As String, str2 As String
Dim i As Integer
Str1 = Split(strDrawing, strSplit)
For i = 0 To UBound(Str1)
If j < Len(Str1(i)) Then
j = Len(Str1(i))
str2 = Str1(i): k = i
End If
Next
MakePartNumber = str2
End Function
通過傳遞分隔字串實現
Dim Str1() As String, str2 As String
Dim i As Integer '把横线替换成空格
strDrawing=replace(strDrawing,"-"," ") Str1 = Split(strDrawing, " ")
For i = 0 To UBound(Str1)
If j < Len(Str1(i)) Then
j = Len(Str1(i))
str2 = Str1(i): k = i
End If
Next
MakePartNumber = str2
End Function
先用Replace取代'_'後再分割即可
----------------------------------------------
1.如果你得意思是說一个字符串中既有" " 也有"-",而你都要分隔出來,可以用replace函數處理成一致
2.如果你得意思是有時要按" "分隔,有時要按照"-"分隔,那麼就用參數得形式,
這樣不會吧本來包含"-"或" "得字串給替代了,比如
"123-dc er34 fr56 fg6543"這個你按照1方法分隔出來結果應該是:
123,dc,er34,fr56,fg6543
按照2方法分出來得結果是
123-dc,er34,fr56,fg6543
不知道樓主需要哪一種結果?