当前位置:编程学习 > VB >>

请大家帮忙——谢谢

我有个问题,请大家帮帮忙:
我有个字符串,里面放的是从text里得到的东西
Dim str1 As String
str1 = Text1.Text '里面可以是abc,哈哈,III 啊不错 abc 等等
要求: (1)我想把 str1 处理一下 " ",",",";",","想这些东西都去掉,
       (2)并且以他们为分隔符,把剩下的东西放到数组中。
       (3)并且去掉相同的字符串。
结果: Array(长度和处理后的个数一致)   Array[0]="abc" Array[1]="哈哈"  Array[2]="III" Array[3]="啊不错"  
  希望大家帮帮我,小弟我是新来的没分给大家。。。。。。谅解 --------------------编程问答-------------------- [size=12px]我先谢谢各位了。[/size] --------------------编程问答-------------------- java里面有个split()方法,如果用java处理,我会先调用split(",")得到"abc","哈哈","III   啊不错   abc   等等",然后对"III   啊不错   abc   等等"用split(" "),得到"III""啊不错""abc""等等".主要思路是这样 --------------------编程问答-------------------- 用多次 replace 将字符 ,;, 全部转化为空格,然后用空格进行 split。
过滤相同项只要定义一个集合 o as collection,然后将所有的字符串通过 o.Add s, s 的方式调用并忽略错误,最后 o 中就是不重复的字符串。 --------------------编程问答-------------------- dim NewStr as string,S as string
Dim str1 As String
dim i as integer, j as integer,k as integer 
dim YorArray() as string
str1=Text1.Text  '里面可以是abc,哈哈,III   啊不错   abc   等等
'如果第一个字符不符合要求,先去掉
for i=1 to len(str1) 
     s=mid(str1,i 1) 
     if s="," or s=" " or s=";" or s=";" or s="," then '这里面还可以添加不需要的字符
        j=j+1 : NewStr=NewStr &"["& trim(str(j))&"]" 
     else
        NewStr=NewStr & s
     endif               
next


' 以上是将不需要的东西替换成了[1],[2],[3],[4],........等,而且是按顺序的。
' 下面要做的是:将序号前面的字符串取出来按顺序放到一个数组中去。

Redim YorArray(j) 
for i=0 to j-1
    if InStr(NewStr,"["& trim(str(i)) &"]")>0 then  
       k=iif(i=0,1,i+3)
       YorArray(i)=mid(NewStr,k,InStr(NewStr,"["& trim(str(i)) &"]")-1)
    endif 
next

' 数组YorArray中如果有重复的元素,可以在一个for循环中去掉。

for i=0 to j
    '自己动动手编写
next     


--------------------编程问答-------------------- 上面交换一下:
j=j+1:NewStr=NewStr &"["& trim(str(j)) &"]"改为
NewStr=NewStr & "["& trim(str(j))& "]":j=j+1 --------------------编程问答-------------------- 太厉害了 谢谢高手指点
补充:VB ,  基础类
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,