kn007 发表于 2010-12-10 18:42:55

[已解决]求一正则或函数,检查子字符串在字符串中共出现多少次

如题:一组随机数字,如3333333333,正则或函数( "3333333333", "333")
检查结果应为出现3次
若为3343333333,正则或函数( "3343333333", "333"),则为 2次
若3333433333,正则或函数( "3333433333", "333"),也为2次
若3334334334,正则或函数( "3334334334", "333"),为一次
若3434334334,正则或函数( "3434334334", "333"),为0次

不知明白意思不。。。

3mile 发表于 2010-12-10 19:07:57

是这样?不太理解意思
MsgBox(0,'结果',len('3333333333'))

Func len($str)
        Local $k = 0
        For $i = 1 To StringLen($str) - 2
                If StringMid($str, $i, 3) = 333 Then
                        $k += 1
                        $i += 2
                EndIf
        Next
        Return $k
EndFunc   ;==>len

pusofalse 发表于 2010-12-10 19:15:41

用正则直接匹配就行了啊。
$aMatched = StringRegExp($sString, $sSubString, 3)
Return UBound($aMatched)

afan 发表于 2010-12-10 20:10:07

是啊 StringRegExp 标志3 即可

kn007 发表于 2010-12-10 21:38:51

用正则直接匹配就行了啊。
pusofalse 发表于 2010-12-10 19:15 http://www.autoitx.com/images/common/back.gif


    谢谢P版

kn007 发表于 2010-12-10 21:39:20

是啊 StringRegExp 标志3 即可
afan 发表于 2010-12-10 20:10 http://www.autoitx.com/images/common/back.gif


    谢谢A版,哎,还在奋斗中。。。要不   要好好学正则

menfan1 发表于 2010-12-10 21:41:51

发现自己的差距,继续努力。。向版主学习。。

kn007 发表于 2010-12-10 21:43:03

是这样?不太理解意思
3mile 发表于 2010-12-10 19:07 http://www.autoitx.com/images/common/back.gif


    谢谢3mile是这个意思,感谢

298311657 发表于 2010-12-10 23:38:54

StringRegExp("3434334334",".*?333",3)

binghc 发表于 2010-12-10 23:58:41

我觉得这也太。。。。简单了吧,直接看匹配出来的数组个数就行了{:face (197):}

mybkc 发表于 2010-12-11 23:43:14

学习了!!!

lixiaolong 发表于 2011-11-30 03:45:52

$Str = '3333334334'

Local $Test = StringRegExp($Str, '{3}', 3)
MsgBox(0,"",UBound($Test))
页: [1]
查看完整版本: [已解决]求一正则或函数,检查子字符串在字符串中共出现多少次