首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

VB6 數組兩側提取:Mid 函數反向操作的替代實現

     編輯:程式設計疑難解答

問題

Mid(arr, start, length) 提取中間段,如何提取兩側(左側+右側)?

VB6 無內置反函數

需手動實現:

Dim src(1 To 100) As Long
Dim leftPart() As Long, rightPart() As Long
Dim midStart As Long, midLen As Long
midStart = 30: midLen = 20  ' 中間段 30-49

' 左側 1-29
ReDim leftPart(1 To midStart - 1)
For i = 1 To midStart - 1: leftPart(i) = src(i): Next

' 右側 50-100
ReDim rightPart(1 To UBound(src) - (midStart + midLen - 1))
For i = midStart + midLen To UBound(src)
    rightPart(i - (midStart + midLen) + 1) = src(i)
Next

' 合併兩側(如需單一數組)
Dim both() As Long
ReDim both(1 To UBound(leftPart) + UBound(rightPart))
For i = 1 To UBound(leftPart): both(i) = leftPart(i): Next
For i = 1 To UBound(rightPart): both(UBound(leftPart)+i) = rightPart(i): Next

字符串場景

若為字符串,可用 Left$/Right$ 或 Mid$ 兩次提取再拼接:

Dim s As String: s = "abcdefghij"
Dim midStart As Long: midStart = 4
Dim midLen As Long: midLen = 3  ' "def"
Dim sides As String
sides = Left$(s, midStart-1) & Mid$(s, midStart+midLen)  ' "abc" & "ghij" = "abcghij"
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved