找回密码
 加入
搜索
查看: 3709|回复: 11

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

  [复制链接]
发表于 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次

不知明白意思不。。。

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 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
发表于 2010-12-10 19:15:41 | 显示全部楼层
用正则直接匹配就行了啊。
$aMatched = StringRegExp($sString, $sSubString, 3)
Return UBound($aMatched)
发表于 2010-12-10 20:10:07 | 显示全部楼层
是啊 StringRegExp 标志3 即可
 楼主| 发表于 2010-12-10 21:38:51 | 显示全部楼层
用正则直接匹配就行了啊。
pusofalse 发表于 2010-12-10 19:15



    谢谢P版
 楼主| 发表于 2010-12-10 21:39:20 | 显示全部楼层
是啊 StringRegExp 标志3 即可
afan 发表于 2010-12-10 20:10



    谢谢A版,哎,还在奋斗中。。。要不   要好好学正则
发表于 2010-12-10 21:41:51 | 显示全部楼层
发现自己的差距,继续努力。。向版主学习。。
 楼主| 发表于 2010-12-10 21:43:03 | 显示全部楼层
是这样?不太理解意思
3mile 发表于 2010-12-10 19:07



    谢谢3mile是这个意思,感谢
发表于 2010-12-10 23:38:54 | 显示全部楼层
StringRegExp("3434334334",".*?333",3)
发表于 2010-12-10 23:58:41 | 显示全部楼层
我觉得这也太。。。。简单了吧,直接看匹配出来的数组个数就行了
发表于 2010-12-11 23:43:14 | 显示全部楼层
学习了!!!
发表于 2011-11-30 03:45:52 | 显示全部楼层
$Str = '3333334334'

Local $Test = StringRegExp($Str, '[3]{3}', 3)
MsgBox(0,"",UBound($Test))
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-2 07:45 , Processed in 0.083621 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表