找回密码
 加入
搜索
查看: 1910|回复: 9

如何判断一个数中连续相同的数

[复制链接]
发表于 2009-1-7 08:20:06 | 显示全部楼层 |阅读模式
如题,判断一个数中连续相同的数,如123334556,怎么能判断这个数中出现3个3,2个5.

谢谢各位
StringRegExp 不错 谢谢了  (我用了老版本没找到,呵呵,已经换新的了)
再继续问题
我是找出来之后用一个x2替换表示出现两次,或x3替换表示出现3次,或x4替换表示出现4次...
请再次帮忙

问题继续
实在对正则表达了解不透,请各位继续帮忙
1、找出一个数中连续相同的数,不找首位的,如1123334556,怎么能判断这个数中出现3个3,2个5。对首位出现的11不判断
2、找出来之后用一个x2替换表示出现两次,或x3替换表示出现3次,或x4替换表示出现4次...同时在x2之后跟上相同的那个字符,如1123334556这个数112x334x256,x33表示3个3,x25表示2个5

[ 本帖最后由 fanchenglu 于 2009-1-8 17:30 编辑 ]
发表于 2009-1-7 09:03:16 | 显示全部楼层
指定字符:

stringreplace('123334556', '3', 0)
msgbox(0,0,'数字3有'&@extended&'个')
发表于 2009-1-7 09:12:44 | 显示全部楼层
$a='123334556'
$b=StringRegExp($a,'0{2,}|1{2,}|2{2,}|3{2,}|4{2,}|5{2,}|6{2,}|7{2,}|8{2,}|9{2,}',3)
for $i=0 to UBound($b)-1
MsgBox(0,0,$b[$i])
Next
 楼主| 发表于 2009-1-7 10:03:15 | 显示全部楼层
谢谢各位
StringRegExp 不错 谢谢了  (我用了老版本没找到,呵呵,已经换新的了)
再继续问题
我是找出来之后用一个x2替换表示出现两次,或x3替换表示出现3次,或x4替换表示出现4次...
请再次帮忙
发表于 2009-1-7 10:04:25 | 显示全部楼层
au3用的什么正则表达式,不支持子表达式和嵌入条件等
感觉有些缩水,用的不爽啊
发表于 2009-1-7 10:54:49 | 显示全部楼层
原帖由 liongodmien 于 2009-1-7 09:03 发表
指定字符:

stringreplace('123334556', '3', 0)
msgbox(0,0,'数字3有'&@extended&'个')




又学了一招
发表于 2009-1-7 11:04:47 | 显示全部楼层
$a='123334556'
$b=StringRegExp($a,'0{2,}|1{2,}|2{2,}|3{2,}|4{2,}|5{2,}|6{2,}|7{2,}|8{2,}|9{2,}',3)
for $i=0 to UBound($b)-1
$a=StringReplace($a,$b[$i],'x'&stringlen($b[$i]))
Next
MsgBox(0,0,$a)
 楼主| 发表于 2009-1-7 13:16:51 | 显示全部楼层
verygood  
非常感谢  pcbar
代码非常有效

问题继续
实在对正则表达了解不透,请各位继续帮忙
1、找出一个数中连续相同的数,不找首位的,如1123334556,怎么能判断这个数中出现3个3,2个5。对首位出现的11不判断
2、找出来之后用一个x2替换表示出现两次,或x3替换表示出现3次,或x4替换表示出现4次...同时在x2之后跟上相同的那个字符,如1123334556这个数112x334x256,x33表示3个3,x25表示2个5

[ 本帖最后由 fanchenglu 于 2009-1-7 15:32 编辑 ]
发表于 2009-1-7 19:32:25 | 显示全部楼层
$a='1123334556'
$b=StringRegExp($a,'0{2,}|1{2,}|2{2,}|3{2,}|4{2,}|5{2,}|6{2,}|7{2,}|8{2,}|9{2,}',3)
for $i=0 to UBound($b)-1
if StringInStr($a,$b[$i])<>1 then $a=StringReplace($a,$b[$i],'x'&stringlen($b[$i])&StringLeft($b[$i],1))
Next
MsgBox(0,0,$a)
 楼主| 发表于 2009-1-8 16:43:01 | 显示全部楼层
ok  
非常感谢 pcbar
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-19 17:46 , Processed in 0.079292 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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