[已解决]求一正则或函数,检查子字符串在字符串中共出现多少次
如题:一组随机数字,如3333333333,正则或函数( "3333333333", "333")检查结果应为出现3次
若为3343333333,正则或函数( "3343333333", "333"),则为 2次
若3333433333,正则或函数( "3333433333", "333"),也为2次
若3334334334,正则或函数( "3334334334", "333"),为一次
若3434334334,正则或函数( "3434334334", "333"),为0次
不知明白意思不。。。 是这样?不太理解意思
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
用正则直接匹配就行了啊。
$aMatched = StringRegExp($sString, $sSubString, 3)
Return UBound($aMatched) 是啊 StringRegExp 标志3 即可 用正则直接匹配就行了啊。
pusofalse 发表于 2010-12-10 19:15 http://www.autoitx.com/images/common/back.gif
谢谢P版 是啊 StringRegExp 标志3 即可
afan 发表于 2010-12-10 20:10 http://www.autoitx.com/images/common/back.gif
谢谢A版,哎,还在奋斗中。。。要不 要好好学正则 发现自己的差距,继续努力。。向版主学习。。 是这样?不太理解意思
3mile 发表于 2010-12-10 19:07 http://www.autoitx.com/images/common/back.gif
谢谢3mile是这个意思,感谢 StringRegExp("3434334334",".*?333",3) 我觉得这也太。。。。简单了吧,直接看匹配出来的数组个数就行了{:face (197):} 学习了!!! $Str = '3333334334'
Local $Test = StringRegExp($Str, '{3}', 3)
MsgBox(0,"",UBound($Test))
页:
[1]