DATA Step, Macro, Functions and more

PRX / substrings

Reply
Super Contributor
Posts: 268

PRX / substrings

HI,

My input field is something like this -

 

ALICE REV 2-KY/CB 

ALICE-REV 2/BHP
Audition/BTT
Audition-CK/BT

 

and my output field needs to be somehting like this -

ALICE

Audition

 

I have a vague idea about PRX functions. Any help will be appreciated.

 

Thanks,

saspert

SAS Super FREQ
Posts: 683

Re: PRX / substrings

Have a go with this sample, check the doc for the Tables of Perl Regular Expression (PRX) Metacharacters

 

data want;
  infile cards ;
  input text $64.;

  wordEnd = prxmatch("/\W+\b/", text);
  word = substr(text, 1, wordEnd-1);
  putlog _all_;
cards;
ALICE REV 2-KY/CB 
ALICE-REV 2/BHP
Audition/BTT
Audition-CK/BT
;

Bruno

Super User
Posts: 5,081

Re: PRX / substrings

If you know the delimiters that might appear in your data, you can code this simply:

 

data want;

set have;

string = scan(string, 1, '- /');

run;

 

Be sure to include a blank as one of the delimiters.

Super Contributor
Posts: 275

Re: PRX / substrings


proc sql;
select distinct(prxchange('s/(^\w+)\W+?.*/$1/i',1,text)) as string from want;
quit;

Ask a Question
Discussion stats
  • 3 replies
  • 317 views
  • 6 likes
  • 4 in conversation