VBScript 创建列表、拆分列表项和 trim 它们
VBScript create list, split list items and trim them
我正在尝试创建将变量添加到列表的代码。然后它将所有列表元素按 :
拆分,仅返回第二部分。最后,所有返回的字符串都将被修剪。
为了让您更好地理解,让我举个例子:
- 将 "a : b " 和“c:d”添加到列表中。
- 拆分元素,因此仅返回 "b " 和 "d "。
- Trim "b " 和 "d ".
到目前为止,我想出了类似的方法,但它不起作用,我也不知道为什么。
Set list = CreateObject("System.Collections.ArrayList")
list.Add "bob : kid"
list.Add "ryan : alex"
list.Add "kate : andy"
list.Add "alice : mandy"
For Each item In list
Dim item As String
Dim words As String() = item.Split(New Char() {":"c})
For Each word In words
WScript.Echo word
Next
Next
您的代码无效,因为它不是有效的 VBScript。您有几个问题:
- VBScript 不支持类型化变量声明 (
Dim var As Type
)。如果要显式定义变量,请使用 Dim var
。但是请注意,在 VBScript 中,仅当您将 Option Explicit
放在脚本开头时才需要定义变量。
- VBScript 不支持组合声明和定义变量 (
Dim var = value
)。您需要两个单独的语句来定义变量并为其赋值。这两个语句可以通过用冒号分隔 (Dim var : var = value
) 放在一行中,但它们仍然是两个单独的语句。
- 在 VBScript 中,字符串是一种原始数据类型。 VBScript 字符串不是具有属性的对象。要拆分字符串,请使用
Split()
函数。
- 不要 re-define 你的循环变量在你的循环中。
将您的循环更改为类似这样的内容,它应该会执行您想要的操作:
For Each item In list
Dim words : words = Split(item, ":")
For Each word In words
WScript.Echo Trim(word)
Next
Next
如果您只想要每个拆分项中的第二个元素,您可以这样做:
Dim words : words = Split(item, ":")
WScript.Echo Trim(words(1))
或者像这样:
WScript.Echo Trim(Split(item, ":")(1))
我正在尝试创建将变量添加到列表的代码。然后它将所有列表元素按 :
拆分,仅返回第二部分。最后,所有返回的字符串都将被修剪。
为了让您更好地理解,让我举个例子:
- 将 "a : b " 和“c:d”添加到列表中。
- 拆分元素,因此仅返回 "b " 和 "d "。
- Trim "b " 和 "d ".
到目前为止,我想出了类似的方法,但它不起作用,我也不知道为什么。
Set list = CreateObject("System.Collections.ArrayList")
list.Add "bob : kid"
list.Add "ryan : alex"
list.Add "kate : andy"
list.Add "alice : mandy"
For Each item In list
Dim item As String
Dim words As String() = item.Split(New Char() {":"c})
For Each word In words
WScript.Echo word
Next
Next
您的代码无效,因为它不是有效的 VBScript。您有几个问题:
- VBScript 不支持类型化变量声明 (
Dim var As Type
)。如果要显式定义变量,请使用Dim var
。但是请注意,在 VBScript 中,仅当您将Option Explicit
放在脚本开头时才需要定义变量。 - VBScript 不支持组合声明和定义变量 (
Dim var = value
)。您需要两个单独的语句来定义变量并为其赋值。这两个语句可以通过用冒号分隔 (Dim var : var = value
) 放在一行中,但它们仍然是两个单独的语句。 - 在 VBScript 中,字符串是一种原始数据类型。 VBScript 字符串不是具有属性的对象。要拆分字符串,请使用
Split()
函数。 - 不要 re-define 你的循环变量在你的循环中。
将您的循环更改为类似这样的内容,它应该会执行您想要的操作:
For Each item In list
Dim words : words = Split(item, ":")
For Each word In words
WScript.Echo Trim(word)
Next
Next
如果您只想要每个拆分项中的第二个元素,您可以这样做:
Dim words : words = Split(item, ":")
WScript.Echo Trim(words(1))
或者像这样:
WScript.Echo Trim(Split(item, ":")(1))