?data extract;
length Name $15.;
input Name $ Age;
cards;
TomHanks 39
WillSmith 35
ChristopherLee 38
RusselCrow 39
;
how I could extract the Name variable into Fname and Lname
Like
Fname Lname Age
Tom Hanks 39
Wll Smith 35
Or just using Prxchange:
data extract;
length Name $15.;
input Name $ Age;
cards;
TomHanks 39
WillSmith 35
ChristopherLee 38
RusselCrow 39
;
data want;
set extract;
fname=prxchange('s/([A-Z][a-z]+)([A-Z][a-z]+)/$1/o',-1, name);
lname=prxchange('s/([A-Z][a-z]+)([A-Z][a-z]+)/$2/o',-1, name);
run;
Or for a none PRX approach,
data want_noprx;
set extract;
lp=anyupper(substr(name,2));
fname=substr(name,1,lp);
lname=substr(name,lp+1);
run;
Haikuo
data extract; length Name $15.; input Name $ Age; cards; TomHanks 39 WillSmith 35 ChristopherLee 38 RusselCrow 39 ; data FirstLastNames; length first last $ 16; re = prxparse('/([A-Z][a-z]+)([A-Z][a-z]+)/o'); set extract; if prxmatch(re, name) then do; last = prxposn(re, 1, name); first = prxposn(re, 2, name); end; run;
Ksharp
Hi,
I am getting the result but in the output variable 'last' is only displaying variable 'first' is not displaying.
Regards,
Sarath sankar V
Why? I have no such problem.
Hi ,
Thanks Sharp I got it it was some mistake done by me . be in touch.
Regards
Sarath Sankar V
Or just using Prxchange:
data extract;
length Name $15.;
input Name $ Age;
cards;
TomHanks 39
WillSmith 35
ChristopherLee 38
RusselCrow 39
;
data want;
set extract;
fname=prxchange('s/([A-Z][a-z]+)([A-Z][a-z]+)/$1/o',-1, name);
lname=prxchange('s/([A-Z][a-z]+)([A-Z][a-z]+)/$2/o',-1, name);
run;
Or for a none PRX approach,
data want_noprx;
set extract;
lp=anyupper(substr(name,2));
fname=substr(name,1,lp);
lname=substr(name,lp+1);
run;
Haikuo
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.