以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]按条件删除集合的值  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=115702)

--  作者:jyh7081
--  发布时间:2018/3/12 22:19:00
--  [求助]按条件删除集合的值

说明里有删除集合指定值得方法,我想删除:集合的值中包含指定字符,比如“视”和“衣”的,下面的代码怎么改?

 

 

Dim  Lst As  New List(Of String)
Dim Arys() As String
Lst.Add("电视机")
Lst.Add("电冰箱")
Lst.Add("洗衣机")
Lst.Remove("电视机")
Arys = Lst.ToArray()  \'将集合转换为数组
For Each  nm As String In lst
    Output.Show(nm)
Next

[此贴子已经被作者于2018/3/12 22:33:55编辑过]

--  作者:有点蓝
--  发布时间:2018/3/12 22:47:00
--  
……
For i As Integer = lst.count - 1 To 0 Step -1
    If lst(i).contains("视") OrElse lst(i).contains("") Then
        lst.RemoveAt(i)
    End If
Next

--  作者:jyh7081
--  发布时间:2018/3/13 22:48:00
--  

怎样显示指定集合位置之间的值?

Dim  Lst As  New List(Of String)
Dim Arys() As String
Lst.Add("电视机")
Lst.Add("电冰箱")
Lst.Add("洗 衣机")
Lst.Add("aa")
Lst.Add("bb")
Lst.Add("cc")


For Each s As String In lst    \'遍历集合的值
    If s.Contains("aa")  Then      ’含有关键字的值
    msgbox(lst.Indexof(s))   \'获取本集合位置
    For i As Integer = lst.Indexof(s)  To lst.count -1     ’显示集合的值
        \'msgbox(lst(i))
    Next

End If
Next

 

[此贴子已经被作者于2018/3/13 22:53:06编辑过]

--  作者:有点蓝
--  发布时间:2018/3/13 22:59:00
--  
没看懂要做什么

For i As Integer = 0 To lst.count -1    \'遍历集合的值
    If lst(i).Contains("aa")  Then      \'含有关键字的值
        Output.Show(i)\'获取本集合位置
        For j As Integer = i  To lst.count -1     \'显示集合的值
            Output.Show(lst(j))
        Next
        Exit For
    End If
Next