DATA Step, Macro, Functions and more

Find out Same Digit repeated continuously

Accepted Solution Solved
Reply
Contributor
Posts: 46
Accepted Solution

Find out Same Digit repeated continuously

Hi,

I am looking here to get any Digit is continuously repeated  more than 6 times from Security_No.

Sl_NoSecurity_No
1111111111112
2989898989898
3111111111111
4910000000000
5999999999990
6128390203040
7127777777771
8739349340595
9634995038404

Thanks in Advance....!


Accepted Solutions
Solution
‎02-17-2015 12:50 AM
Super User
Posts: 9,676

Re: Find out Same Digit repeated continuously

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

View solution in original post


All Replies
Solution
‎02-17-2015 12:50 AM
Super User
Posts: 9,676

Re: Find out Same Digit repeated continuously

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

Trusted Advisor
Posts: 1,300

Re: Find out Same Digit repeated continuously

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;

Contributor
Posts: 46

Re: Find out Same Digit repeated continuously

Thank you...!

☑ This topic is SOLVED.

Need further help from the community? Please ask a new question.

Discussion stats
  • 3 replies
  • 230 views
  • 3 likes
  • 3 in conversation