split()后面的(1)是什么?

时间:2019-10-16 07:49:27

标签: function vbscript

您能否帮助我理解以下功能末尾的(1)是什么?

Split(objWS.Cells(1, ColumnNumber).Address, "$")(1)

2 个答案:

答案 0 :(得分:2)

Split函数返回一个array,它实际上是一个值列表。请参阅文档中的此处:

  

Split函数返回从零开始的一维数组,该数组   包含指定数量的子字符串。

可以使用 indexer 访问数组中的值,从而可以指定要访问数组中定义位置的项目。

在您的情况下,您将在索引1处返回该项,这是数组中的第二项,因为数组的索引从0开始。

实际上,如果这是长度为6的数组:

This
is
an
array
of
values

位置0将是This,位置1(在您的情况下)将是is,位置5将是values

顺便说一句,用更长的篇幅写的是

Dim MyArray()
Dim MyItem

' Split the address and store it in MyArray
MyArray = Split(objWS.Cells(1, ColumnNumber).Address, "$")

' Get the second item from MyArray
MyItem = MyArray(1)

答案 1 :(得分:2)

在这种Split方法中,您的地址都会被分隔为“ $”(无论出现在哪里)。

因此,如果地址类似于"Test $ New Street $ City",它将被拆分为一个数组

[0] "Test "
[1] " New Street "
[2] " City"

使用Split(objWS.Cells(1, ColumnNumber).Address, "$")(1)将使数据位于数组的第二个位置,就像我的示例中的" New Street "