What procedure would I use to remove multiple phrases within a string?
I want to remove the "LLC", "Inc", and "Incorporated"
Is there a way to remove this all in one line/step of code rather than multiple steps?
Name
Company 1 LLC
Company 2 Incorporated
Company 3 Inc.
Thanks so much.
You could use the tranwrd() function multiple times on the Name field to replace a substring with a different substring, in this instance a blank. I would assume you don't want the space after 1 in Company 1 LLC, so I would try the following:
data want;
set have;
Name=tranwrd(Name," LLC","");
Name=tranwrd(Name," Incorporated","");
Name=tranwrd(Name," Inc.","");
run;
Hope this helps!
A RegEx option which will only remove the targeted strings if they are at the very end.
data have;
infile datalines truncover;
input company_name $40.;
datalines;
Company 1 LLC
Company 2 Incorporated
Company LLC 3 Inc.
Lend Lease Group LLC Inc.
;
run;
data want;
set have;
length company_name_root $40;
company_name_root=prxchange('s/(LLC|Incorporated|Inc\.)\s*$//oi',1,company_name);
run;
data want(drop=list);
set have;
length list $30;
do list = 'LLC', 'Incorporated', 'Inc.';
Name = tranwrd(strip(Name),strip(list),'');
end;
run;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.