BookmarkSubscribeRSS Feed
GeorgeSAS
Lapis Lazuli | Level 10

Hello all,

 

I want extract the number after the last '/', how to do it?

 

below is the character, I want '9245',:

 

'Kwstala/416544/95ewS661204/9245'

 

 

 

Thank you!

5 REPLIES 5
Tom
Super User Tom
Super User

Use SCAN() function with a index of -1.

want = scan('Kwstala/416544/95ewS661204/9245',-1,'/');
GeorgeSAS
Lapis Lazuli | Level 10

Thank you!

 

and another question,how to get the location of the last '/'?

 

Thanks!

Haikuo
Onyx | Level 15

You can use those PRX functions to get the target striong as well the postion:

data test;
	want_scan = scan('Kwstala/416544/95ewS661204/9245',-1,'/');
	ptn=prxparse('/(?<=\/)\d+$/');
	pos=prxmatch(ptn,'Kwstala/416544/95ewS661204/9245');
	want_prx=prxchange('s/(\S+)\/(\d+$)/\2/',-1,'Kwstala/416544/95ewS661204/9245');
run;
Ksharp
Super User
data _null_;
	want_scan ='Kwstala/416544/95ewS661204/9245';
	pos=findc(want_scan,'/','b');
	put pos= ;
run;
Peter_C
Rhodochrosite | Level 12
Use CALL SCAN()
this will trll you the position and length of the selected "word".
For the last "word" try -1 in :
Call scan( big_string, -1, pos, len, '/' ) ;
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
  • 5 replies
  • 1977 views
  • 0 likes
  • 5 in conversation