以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]查找子字符串个数  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=57155)

--  作者:黄训良
--  发布时间:2014/9/19 11:06:00
--  [求助]查找子字符串个数

例如:在 “I like you do you like me!”中查找 “you” 的个数?

 


--  作者:Bin
--  发布时间:2014/9/19 11:07:00
--  
Dim strs As String() =  "I Like you Do you Like me!".Split(" ")
Dim count As Integer
For Each s As String In strs
    If s="you" Then
          count+=1
    End If
Next
MessageBox.show(count)


--  作者:有点甜
--  发布时间:2014/9/19 11:09:00
--  
 Dim str As String = "I like you do you like me"
Dim f As String = "you"
Dim count As String = (str.Length - str.Replace(f, "").Length) / f.Length
msgbox(count)

--  作者:黄训良
--  发布时间:2014/9/19 11:15:00
--  
感谢!
--  作者:黄训良
--  发布时间:2014/9/19 11:25:00
--  

谢谢两位老师,选一个最优化的代码,
Dim arr(),t, s As String
t = "I like you do you like me!"
s =  "you"
If InStr(t, s) > 0 Then
    arr = Split(t, s)
    MsgBox( s & "共找到:" & UBound(arr) & "个")
Else
    MsgBox( "未找到:" & s )
End If


--  作者:lsy
--  发布时间:2014/9/19 11:30:00
--  
Return (Args(0).Length - Args(0).Replace(Args(1),"").Length) / Args(1).Length