Vbscript 对3个阵列(字符串)中的所有项进行点对点求和

Vbscript 对3个阵列(字符串)中的所有项进行点对点求和,vbscript,Vbscript,我有3个字符串,我想按yearmonth对点对点项目求和 string1 = "201402,10|201403,15|201404,25|201405,11|201406,23" string2 = "201401,17|201402,25|201403,15|201404,12|201405,13|201406,9" string3 = "201405,17|201406,25|201407,15|201408,12|201409,13|201410,9|201411,9|201412,9|

我有3个字符串,我想按yearmonth对点对点项目求和

string1 = "201402,10|201403,15|201404,25|201405,11|201406,23"
string2 = "201401,17|201402,25|201403,15|201404,12|201405,13|201406,9"
string3 = "201405,17|201406,25|201407,15|201408,12|201409,13|201410,9|201411,9|201412,9|201501,9"
结果如下:

Result = "201401,10|201402,35|201403,30|201404,37|201405,41|201406,57|201407,15|201408,12|201409,13|201410,9|201411,9|201412,9|201501,9"

在管道处拆分每个字符串,在逗号处拆分每个子字符串,然后使用字典累积每年和每月的值。像这样的方法应该会奏效:

string1 = "201402,10|201403,15|201404,25|201405,11|201406,23"
string2 = "201401,17|201402,25|201403,15|201404,12|201405,13|201406,9"
string3 = "201405,17|201406,25|201407,15|201408,12|201409,13|201410,9|201411,9|201412,9|201501,9"

Set d = CreateObject("Scripting.Dictionary")

Sub Add(s)
  For Each line In Split(s, "|")
    v = Split(line, ",")
    d(v(0)) = d(v(0)) + CInt(v(1))
  Next
End Sub

Add string1
Add string2
Add string3

Set a = CreateObject("System.Collections.ArrayList")
For Each key In d.Keys
  a.Add key & "," & d(key)
Next
a.Sort
result = Join(a.ToArray, "|")

WScript.Echo result

你能帮我找多个字符串吗?也许是3个字符串或7个或10个或100个?我已经为你写了一个脚本。考虑把它改编成可变数量的字符串。提示:您需要一个字符串列表/数组,并在循环中处理它。