BookmarkSubscribeRSS Feed
R_Win
Calcite | Level 5
Hi

i am having a string and it shd be in alpha betical order

data x;
string='zxy cba';
run;

output the string shd be in 'abc xyz'
1 REPLY 1
Peter_C
Rhodochrosite | Level 12
The call routine SORTC() would do what you seem to want, but as I see the string, just REVERSE() is needed this time.
The call routine expects to operate on a list variables. The fastest way to split up the string into one char variables would use peekc() and poke(). Less advanced the following uses a 100element array of 1-byte variables.[pre] length_s = length( string );
array demo(100) $1 ;
do i= 1 to length_s ;
demo(i) = substr( string, i ) ;
end ;
call sortC( of demo(*) ) ;
do i= 1 to length_s ;
j = i +100 - length_s ;
substr( string, i,1 ) = demo(j) ;
end ;
drop demo: ; [/pre]

PeterC
What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 1575 views
  • 0 likes
  • 2 in conversation