Desktop productivity for business analysts and programmers

count the number of most occuring consecutive character in string

Accepted Solution Solved
Reply
Contributor ak2
Contributor
Posts: 27
Accepted Solution

count the number of most occuring consecutive character in string

Hi! I have a string like this one 'aaccbdaaaccc', and I need to find the character that occurs the most in consecutive order, and how many times it occurs. I thus need two variables as the output. I do not want to consider the caracter 'a'. The answer should be 'c' and '3'. Do anyone have a solution to this? Help is very much appreciated.


Accepted Solutions
Solution
‎03-22-2016 05:33 AM
Super User
Posts: 9,867

Re: count the number of most occuring consecutive character in string

data _null_;
x='aaccbdaaaccc';
length str max_str  $ 200;
pid=prxparse('/(\w)\1*/');
start=1;
stop=length(x);
max_len=0;
call prxnext(pid,start,stop,x,p,l);
do while(p>0);
 str=substr(x,p,l);
 len=length(str);
 if str not =: 'a' and len gt max_len then do;
  max_str=str;
  max_len=len;
 end;
 call prxnext(pid,start,stop,x,p,l);
end;
putlog max_str= max_len= ;
run;

View solution in original post


All Replies
Super User
Posts: 19,151

Re: count the number of most occuring consecutive character in string

You've posted this in Enterprise Guide, are you using the query builder or familiar with SAS data steps?

Contributor ak2
Contributor
Posts: 27

Re: count the number of most occuring consecutive character in string

I'm writing a data step.
Solution
‎03-22-2016 05:33 AM
Super User
Posts: 9,867

Re: count the number of most occuring consecutive character in string

data _null_;
x='aaccbdaaaccc';
length str max_str  $ 200;
pid=prxparse('/(\w)\1*/');
start=1;
stop=length(x);
max_len=0;
call prxnext(pid,start,stop,x,p,l);
do while(p>0);
 str=substr(x,p,l);
 len=length(str);
 if str not =: 'a' and len gt max_len then do;
  max_str=str;
  max_len=len;
 end;
 call prxnext(pid,start,stop,x,p,l);
end;
putlog max_str= max_len= ;
run;
Contributor ak2
Contributor
Posts: 27

Re: count the number of most occuring consecutive character in string

This worked fine! Thank you so much for your help!
☑ This topic is solved.

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

Discussion stats
  • 4 replies
  • 514 views
  • 1 like
  • 3 in conversation