Help using Base SAS procedures

Reg:Removing < >

Frequent Contributor
Posts: 140

Reg:Removing < >

Hi i am having data like this

"good work done <123.http> by <lpo;"340> nani <//,89:789> kumar

now i wnat to remove the data in between these symbols < >

output :

"good work done by nani kumar

Trusted Advisor
Posts: 1,300

Reg:Removing < >

Take a look at this similar post, it should provide your answer.

Posts: 7,363

Reg:Removing < >

And, if you're not used to using regular expressions, the following is an example using your data with the code suggested in that post:

data have;

  informat string $80.;

  input string &;


good work done <123.http> by <lpo;"340> nani <//,89:789> kumar

now <dfkljdfj> is the <jkfiuoiewurk> time for it


data want (drop=rx);

  set have;

  if _n_ eq 1 then rx = prxparse('s/<[^>]*>//');

  retain rx;

  string = prxchange(rx,100,string);


Frequent Contributor
Posts: 140

Re: Reg:Removing < >

Hi art can u tell me what

prxparse('s/<[^>]*>//');  is this means like 's/<[^>]*>//'  and what prxchange will do ,can you expalin me

Frequent Contributor
Posts: 104

Re: Reg:Removing < >

SAS has excellent documentation:

and there are lots of SGF papers on regular expressions and SAS.  Suggest you go there first as it is available 24/7.

Trusted Advisor
Posts: 1,300

Re: Reg:Removing < >

DLing is correct about reference the documentation that is available.  I will explain that regular expression briefly.


substitute, look for < that is not immediately followed by > but has any other string inbetween another >, replace with nil

Also by using the prxdebug function you will get nice information in your log about what it is doing, can help you understand, maybe.

Ask a Question
Discussion stats
  • 5 replies
  • 4 in conversation