在经典asp中有没有与php的parse_str相同的东西?
我有一个这样的字符串:" key1 = value1,key2 = value2,key3 = value3",我需要将它转换为数组或类似的结构,所以我可以像使用它一样( ' key1')或类似的东西。 在PHP中我喜欢这样:
parse_str(str_replace(",", "&", str_replace(", ", "&", $dn)), $arr);
如何在经典ASP中执行此操作?
答案 0 :(得分:3)
如果您的键/值中没有逗号,您可以使用Split()
将字符串分隔为键/值对数组:
a = Split(s, ",")
然后,您可以进一步拆分=
上的每个元素以分别获取键和值:
For Each i In a
a2 = Split(i, "=")
' Now a2(0) = key, a2(1) = value
Next
但是,如果不使用像Dictionary对象这样的东西,你将无法通过“key”访问它。
答案 1 :(得分:0)
我亲自试过这个并为我工作。
s = "key1=value1, key2=value2, key3=value3"
kp = Split(s, ",")
Set d=Server.CreateObject("Scripting.Dictionary")
Dim d
For Each i In kp
kp2 = Split(i, "=")
d.Add Trim(kp2(0)) , kp2(1)
Response.Write("The value of key "&Trim(kp2(0))&" is: " & d.Item(Trim(kp2(0))) &"<br />")
Next
Response.Write("<hr/>Or anywhere else <br/>The value of key2 is: " & d.Item("key2"))
我在这里使用Scripting.Dictionary对象,该对象用于将键/值对中的信息(称为键和项)存储为许多其他语言中的任何其他词典。