如何把的字符串格式化成一个下面这样的二维数组

qfljm 2005-07-01 01:50:40


1,a1,b1,c1,d1|2,a2,b2,c2,d2|3,a3,b3,c3,d3
如何把上面的字符串格式化成一个下面这样的二维数组
arr( 1(a1,b1,c1,d1)
2(a2,b2,c2,d2)
3(a3,b3,c3,d3)
)
第一个字符为1维的无素,后面4个对应是1维里面的的第二维元素.
...全文
178 12 点赞 打赏 收藏 举报
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
尚和空四 2006-03-13
动态二维数组
Dim result() As Long
Public Sub do_(a() As Long)
Debug.Print a(1, 1), a(200, 200)
End Sub

Private Sub Command1_Click()
Call do_(result)
End Sub

Private Sub Form_Load()
ReDim result(200, 200)
result(1, 1) = 1
result(200, 200) = 200
End Sub
  • 打赏
  • 举报
回复
Glaer 2005-07-04
<%
'如果使用了 Preserve 关键字,就只能调整数组最后维的大小,并且不能改变数组的维数。
'你犯了一个常识性错误:)
'如果需要使用动态数组,则可以通过得到数组最大值来预先定义
'示例程序如下:
Dim i,arr(),arr1,arr2,str1,max1,max2
str1="1,a1,b1,c1,d1|2,a2,b2,c2,d2|3,a3,b3,c3,d3"
arr1=split(str1,"|")

for i = 0 to Ubound(arr1)
arr2=split(arr1(i),",")
if max1 < arr2(0) then max1=arr2(0)
if max2 < Ubound(arr2) then max2=Ubound(arr2)
next

Redim arr(max1,max2)

for i = 0 to Ubound(arr1)
arr2=split(arr1(i),",")
'装载
for j=1 to Ubound(arr2)
arr(arr2(0),j-1)=arr2(j)
Next
Next

for i= 1 to 3
for j = 0 to 3
Response.write("arr("&i&","&j&")="&arr(i,j)&"<br>")
next
next

%>
  • 打赏
  • 举报
回复
超级大笨狼 2005-07-04
arr( 1(a1,b1,c1,d1)
2(a2,b2,c2,d2)
3(a3,b3,c3,d3)
)
是什么意思?
  • 打赏
  • 举报
回复
qfljm 2005-07-03
Glaer(光蓝)

下面是我写的.但是有错..望HELP

<script language="vbscript">
dim str, arr(), arr1, arr2
str = "1,a1,b1,c1,d1|2,a2,b2,c2,d2|5,a3,b3,c3,d3|8,a4,b4,c4,d4"
arr1 = split(str, "|")
For i=0 To UBound(arr1)
arr2 = split(arr1(i), ",")
Redim preserve arr(i)
arr(i) = arr2(0) '先为第一维付值

For j=1 To UBound(arr2)
Redim preserve arr(i, j-1)
arr(i, j-1) = arr2(j) '在对应第一维为第二维付值
Next

next
msgbox arr(1,0)
</script>
  • 打赏
  • 举报
回复
qfljm 2005-07-03
arr(10,10)
你这是定死的..但实际情况这个数组的是动态的
  • 打赏
  • 举报
回复
fatcat_xp 2005-07-01
to qfljm(野猪) ( ) 楼上的代码固然可以当时前面几位提到了 用 split() 函数你至少应该去查查其用法 .. 应该就有头绪了。
  • 打赏
  • 举报
回复
Glaer 2005-07-01
<%
Dim i,arr(10,10),arr1,arr2,str1
str1="1,a1,b1,c1,d1|2,a2,b2,c2,d2|3,a3,b3,c3,d3"
arr1=split(str1,"|")
for i = 0 to Ubound(arr1)
arr2=split(arr1(i),",")
'装载
for j=1 to Ubound(arr2)
arr(arr2(0),j-1)=arr2(j)
Next
Next

for i= 1 to 3
for j = 0 to 3
Response.write("arr("&i&","&j&")="&arr(i,j)&"<br>")
next
next
%>
  • 打赏
  • 举报
回复
qfljm 2005-07-01
HELP
  • 打赏
  • 举报
回复
qfljm 2005-07-01
晕,能有点建设性的意见吗?......
如果我会的话就不会在这问了...
  • 打赏
  • 举报
回复
xiaosaye 2005-07-01
array()
  • 打赏
  • 举报
回复
wesheng 2005-07-01
split()
  • 打赏
  • 举报
回复
相关推荐
发帖
ASP
加入

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2005-07-01 01:50
社区公告
暂无公告