Hi,
I am looking here to get any Digit is continuously repeated more than 6 times from Security_No.
| Sl_No | Security_No |
| 1 | 111111111112 |
| 2 | 989898989898 |
| 3 | 111111111111 |
| 4 | 910000000000 |
| 5 | 999999999990 |
| 6 | 128390203040 |
| 7 | 127777777771 |
| 8 | 739349340595 |
| 9 | 634995038404 |
Thanks in Advance....!
data have;
input Sl_No Security_No : $20.;
cards;
1 111111111112
2 989898989898
3 111111111111
4 910000000000
5 999999999990
6 128390203040
7 127777777771
8 739349340595
9 634995038404
;
run;
data want;
set have;
if prxmatch('/0{6,}|1{6,}|2{6,}|3{6,}|4{6,}|5{6,}|6{6,}|7{6,}|8{6,}|9{6,}/o',Security_No);
run;
Xia Keshan
data have;
input Sl_No Security_No : $20.;
cards;
1 111111111112
2 989898989898
3 111111111111
4 910000000000
5 999999999990
6 128390203040
7 127777777771
8 739349340595
9 634995038404
;
run;
data want;
set have;
if prxmatch('/0{6,}|1{6,}|2{6,}|3{6,}|4{6,}|5{6,}|6{6,}|7{6,}|8{6,}|9{6,}/o',Security_No);
run;
Xia Keshan
Here is an alternative to using regular expression.
data foo;
input Sl_No Security_No : $12.;
do rept_int=0 to 9 while (_n_>0);
if find(Security_No, repeat(put(rept_int,1.),5)) then do;
_n_=0;
output;
end;
end;
cards;
1 111111111112
2 989898989898
3 111111111111
4 910000000000
5 999999999990
6 128390203040
7 127777777771
8 739349340595
9 634995038404
;
run;
Thank you...!
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.