新建From1(窗体),新建Command1(按钮CommandButton),代码:
Private Sub Command1_Click()
Dim strW As String, strC1 As String, strC2 As String
strW = "A:B:" & vbCrLf & "C:D:"
strC1 = ""
strC2 = ":"
Debug.Print f_ReserveFront(strW, strC1, strC2, 2)
End Sub
Private Function f_ReserveFront(strW$, strC1$, strC2$, Optional lngWhere& = 0)
'在每个以strC1间隔的段中,只保留间隔符strC2前面的文字。lngWhere是第几组,默认0组。
Dim m&, strAll$, strSp$(), strSp2$()
Dim sb As New clsStringBuilder: sb.Initialize
strSp = Split(strW, strC1)
With sb
For m = 0 To UBound(strSp) '取到一行
If strSp(m) <> "" Then '去掉空行
strSp2 = Split(strSp(m), strC2)
If lngWhere <= UBound(strSp2) Then
.Append strSp2(lngWhere) & vbCrLf
End If
End If
Next
f_ReserveFront = .ToString
.Clear
End With
End Function添加类模块 clsStringBuilder.cls,代码下载:VB6 大量循环中超快追加字符串,类clsStringBuilder.cls比字符串=字符串&字符串快23倍的方法
运行结果:
C