假如动态数组a()中有4个元素a(0)="姓名",a(1)="性别",a(2)="学号",a(3)="成绩"
如果我想把a(1)删除,使a()变为
a(0)="姓名",a(1)="学号",a(2)="成绩" 请问用什么函数???可以实现,不要用笨办法,比如循环之类,就要一个函数。通过下标删除。
如果我想把a(1)删除,使a()变为
a(0)="姓名",a(1)="学号",a(2)="成绩" 请问用什么函数???可以实现,不要用笨办法,比如循环之类,就要一个函数。通过下标删除。
调试欢乐多
dim i as long
for i=itemid to unound(aarray)-1
aarray(i)=aarray(i+1)
next
redim preserve aarray(i)
end function
Split提取出来的大家帮忙啊。
Private Sub Form_Load()
Dim a() As String
Dim str As String
str = "姓名,学号,班级,年龄" '初始字符串
a = Split(str, ",") '形成数组
a(1) = "" '去除学号
MsgBox Replace(Join(a, ","), ",,", ",") '得到删除学号后的字符串
End Sub
测试已经通过
应该改成:
strArray=Filter(strArray,"学号",False,vbTextCompare)
msgbox Replace(Join(strArray, ","), ",,", ",") '这才是要得到的结果
那你试过我的代码吗?为什么说:字符串在原来"学号"的位置上还有一个","?
真的这样吗?试试下面的代码:Private Sub Form_Load()
Dim a() As String
ReDim a(3)
a(0) = "姓名"
a(1) = "性别"
a(2) = "学号"
a(3) = "成绩"
a = Filter(a, "学号", False, vbTextCompare)
Debug.Print UBound(a)
Debug.Print Join(a, ",")
End Sub输出内容:
2
姓名,性别,成绩
试你的代码时是把你的代码放在我的测试代码中测试,因我的字符串中有两个",",导致测试错误,不好意思了,你的代码是对的。