Help using Base SAS procedures

removing phrases from a string

Reply
Occasional Contributor
Posts: 15

removing phrases from a string

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.

Frequent Contributor
Posts: 130

Re: removing phrases from a string

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!

Respected Advisor
Posts: 3,887

Re: removing phrases from a string

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;

Trusted Advisor
Posts: 1,204

Re: removing phrases from a string

data want(drop=list);

set have;

length list $30;

do list = 'LLC', 'Incorporated', 'Inc.';

  Name = tranwrd(strip(Name),strip(list),'');

end;

run;

Ask a Question
Discussion stats
  • 3 replies
  • 266 views
  • 0 likes
  • 4 in conversation