我正在尝试在经典的asp应用程序中拆分字符串,在页面中包含以下代码,但它似乎不起作用。还有一个问题看起来很相似,但处理的是不同类型的问题,我已经找到了那里的答案而且他们没有帮助。任何帮助将不胜感激。
<%
Dim SelectedCountries,CitizenshipCountry, Count
SelectedCountries = "IN, CH, US"
CitizenshipCountry = Split(SelectedCountries,", ")
Count = UBound(CitizenshipCountry) + 1
Response.Write(CitizenshipCountry[0])
Response.End
%>
答案 0 :(得分:5)
你犯了几个错误,这就是为什么你没有得到预期的结果。
检查数组的边界时,需要指定数组变量,在本例中为ctypes
生成的变量Split()
。
通过在括号(CitizenshipCountry
)中指定元素序号位置而不是方括号((...)
)来访问数组元素。
试试这个:
[...]
我喜欢做的是在调用<%
Dim SelectedCountries, CitizenshipCountry, Count
SelectedCountries = "IN, CH, US"
CitizenshipCountry = Split(SelectedCountries,", ")
'Get the count of the array not the string.
Count = UBound(CitizenshipCountry)
'Use (..) when referencing array elements.
Call Response.Write(CitizenshipCountry(0))
Call Response.End()
%>
之前使用IsArray
检查变量是否包含有效数组,以避免出现这些类型的错误。
UBound()
答案 1 :(得分:0)
伟大的答案和良好的解决方案。我在将字符串转换为数组时添加For Look:
Dim SelectedCountries,CitizenshipCountry,Count,x
SelectedCountries =“IN,CH,US”
CitizenshipCountry = Split(SelectedCountries,“,”)
'获取数组的计数而不是字符串。
伯爵= UBound(CitizenshipCountry)
'引用数组元素时使用(..)。
对于x = 0要计数
Response.Write(CitizenshipCountry(x)&amp;“Break Tag HTML”)
下
如需更多帮助,请发送电子邮件至mabbas.mit@gmail.com