VBScript-用2个目标字符分割一个字符串,在复合数组中转换它们,然后从数组中删除那些不必要的字符



我有一个问题,可能很简单,也可能不简单。

我将进一步解释:我有一个这样的字符串:

str = "TR~Maintenance~fas plus-maintenicon|GR~Supplies~fas minus-suppicon|JK~Affidavit~fas minus-affiicon"

现在,我的目标是把它们分别放在一个数组中,比如:

TR
Maintenance
fas plus-maintenicon
GR
Supplies
fas minus-suppicon
JK
Affidavit
fas minus-affiicon

然后对数组进行整形和重编,只保留以fas…开头的字符串。。。。

最简单的方法是什么?分裂?regEx?inStr?

我有以下代码:

Function funcSeparaLista(objLst)
arrVLst = split(objLst, "~")

for each x in arrVLst
VLst = VLst&x&"<br/>"
next

funcSeparaLista = split(VLst, "|")
end function
t = funcSeparaLista(str)

但检索数据使用:

response.write(t(0))
response.write(t(1))
response.write(t(2))
response.write(t(3))

我得到不想要的结果:

TR
Maintenance
fas plus-mainteniconGR
Supplies
fas minus-suppiconJK
Affidavit
fas minus-affiicon

最重要的一点是:我希望我的FUNCTION只处理将分离的字符串放入数组中,然后在代码的另一部分中处理它。

在数组像我想要的那样保存所有东西之后,我只希望数组保存以下数据:

fas plus-maintenicon
fas minus-suppicon
fas minus-affiicon

我做错了什么?请记住。这是vbscript,而不是VB.Net。提前感谢,我认为这可能很容易,但在几个小时的重做和检查代码后,我并没有完全尝试完成它。

这是一个串行字符串,其中记录分隔符为|,字段分隔符为~。您可以使用双循环从中轻松构建二维数组。

Dim str: str = "TR~Maintenance~fas plus-maintenicon|GR~Supplies~fas minus-suppicon|JK~Affidavit~fas minus-affiicon"
Dim data: data = ConvertToArray(str, "|", "~")
WScript.Echo data(1, 2)
Function ConvertToArray(value, record_delim, field_delim)
Dim data()
If Len(value) < 1 Then ConvertToArray = Empty
Dim records: records = Split(value, record_delim)
If Not IsArray(records) Then ConvertToArray = Empty
Dim rows: rows = UBound(records)
Dim row, col
For row = 0 To rows
Dim fields: fields = Split(records(row), field_delim)
If Not IsArray(fields) Then ConvertToArray = Empty
Dim cols: cols = UBound(fields)
ReDim Preserve data(cols, row)
For col = 0 To cols
data(col, row) = fields(col)
Next
Next
ConvertToArray = data
End Function

输出:

Affidavit

使用此函数,您可以通过循环并只返回每行的第3列来获得所需的输出。

Dim data: data = ConvertToArray(str, "|", "~")
If IsArray(data) Then
Dim row
Dim rows: rows = UBound(data, 2)
For row = 0 To rows
WScript.Echo data(2, row)
Next
End If

输出:

fas plus-maintenicon
fas minus-suppicon
fas minus-affiicon

最新更新