Foxtable(狐表)用户栏目专家坐堂 → 在集合中如何确定包含某个字符的字段位置?


  共有4095人关注过本帖树形打印复制链接

主题:在集合中如何确定包含某个字符的字段位置?

帅哥哟,离线,有人找我吗?
ZJZK2018
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
在集合中如何确定包含某个字符的字段位置?  发帖心情 Post By:2023/10/10 18:41:00 [只看该作者]

在集合中如何确定包含某个字符的字段位置?

Dim nms As New List(Of String)
Names.Add( "HGF")
Names.Add("电冰箱")
Names.Add("洗衣机")
Names.Add( "电视机")
Names.Add( "AAA")
Names.Add( "BBB")
Output.Show(nms.Indexof(nms.Contains("电视"))) 

需求是:找出含有“电视”二个字符的“电视机”字段的位置?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/10/10 20:25:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
ZJZK2018
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2023/10/10 20:44:00 [只看该作者]

教程中是包含“电视机”  ,而我需要的是“电视”二个字符,一楼的代码出错了       
老师请指教??不知道怎么做?

[此贴子已经被作者于2023/10/10 20:50:03编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/10/10 21:03:00 [只看该作者]

这种只能遍历集合,逐个判断

 回到顶部
帅哥哟,离线,有人找我吗?
ZJZK2018
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2023/10/10 21:21:00 [只看该作者]

解决了:
Dim nms As New List(Of String)
nms.Add( "HGF")
nms.Add("电冰箱")
nms.Add("洗衣机")
nms.Add( "电视机")
nms.Add( "AAA")
nms.Add( "BBB")
For Each st As String In nms
    If st.Contains("电视") Then
     msgbox(nms.Indexof(st))
    End If
Next

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/10/10 21:28:00 [只看该作者]

For i As Integer = 0 To nms.Count - 1
    If nms(i).Contains("电视") Then
        MsgBox(i)
        Exit For
    End If 
Next 

 回到顶部
帅哥哟,离线,有人找我吗?
ZJZK2018
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2023/10/10 21:43:00 [只看该作者]

谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
ZJZK2018
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2023/10/10 22:07:00 [只看该作者]

蓝色和红色部分是连续字符串,但字符串长度不一定,如何删除红色部分字符串?谢谢

温州市域铁路S3线附属配套工程(瑞安段)S3线瑞安段土建工程施工SG5标段施工SG5标段      改成:温州市域铁路S3线附属配套工程(瑞安段)S3线瑞安段土建工程施工SG5标段

诸暨市浦阳江治理三期工程施工Ⅰ标(高湖南渠出口至船塘湖段)施工Ⅰ标(高湖南渠出口至船塘湖段)      改成:诸暨市浦阳江治理三期工程施工Ⅰ标(高湖南渠出口至船塘湖段)

(非重点)天台县石梁镇Y010乡道至慈圣村乌坑农村道路项目(甬金衢上高速公路罗汉岭隧道配套工程)(非重点)天台县石梁镇Y010乡道至慈圣村乌坑农村道路项目(甬金衢上高速公路罗汉岭隧道配套工程)施工  改成:(非重点)天台县石梁镇Y010乡道至慈圣村乌坑农村道路项目(甬金衢上高速公路罗汉岭隧道配套工程)施工


[此贴子已经被作者于2023/10/10 22:07:54编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/10/10 22:34:00 [只看该作者]

有没有什么固定的规律,如果没有,没有办法处理

 回到顶部
帅哥哟,离线,有人找我吗?
ZJZK2018
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2023/10/12 9:04:00 [只看该作者]

规律:
要找出的字符串条件如下:
1、二个字符串必须是连续的,如施工SG5标段施工SG5标段
2、字符串长度不确定
3、要找出的字符串长度最小为:2个,最长为整个字符串的一半。


下面代码出,提示字符串长度不够
For i As Integer = 2 To str.Length *0.5 
    For n As Integer = 0 To str.Length Step i
        Dim s As String = str.Substring(n,i)               
    Next
Next

 回到顶部
总数 37 1 2 3 4 下一页