Mid(arr, start, length) 提取中間段,如何提取兩側(左側+右側)?
需手動實現:
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"