以文本方式查看主题

-  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=23777)

--  作者:YDS
--  发布时间:2012/9/19 16:54:00
--  [求助]如何查找给定的子字符串在一个字符串中出现的次数
如何查找给定的子字符串在一个字符串中出现的次数?急..............
[此贴子已经被作者于2012-9-19 17:00:27编辑过]

--  作者:lin_hailun
--  发布时间:2012/9/19 17:13:00
--  
 这个问题需要定义一个规则。怎样算一次。

 比如 aa 在 aaaabbb中,算2次,还是算3次?

--  作者:lin_hailun
--  发布时间:2012/9/19 17:34:00
--  
Dim str As String = "aabbbccaa"
Dim s As String = "aa"
Dim count As Integer = 0
Dim i As Integer = 0
Do While 1
    i = str.IndexOf(s)
    If i < 0 Then
        Exit Do
    End If
    str = str.SubString(i + s.Length)
    count = count + 1
Loop
output.Show(count)
--  作者:狐狸爸爸
--  发布时间:2012/9/19 17:49:00
--  

呵呵,这样简单点:

 

Dim s1 As String = "aabbbccaaaa"
Dim s2 As String = "aa"
Dim s3 As String = s1.Replace(s2,"")
Dim cnt = (s1.Length - s3.Length) / s2.Length
MessageBox.show(cnt & "次")