BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
JohnChen_TW
Quartz | Level 8

Hi Everyone,

 

I have a string of characters and I need the value in double parentheses.

How can I do?

Data is: SUBJECT NOT ELIGIBLE (LOW NEUTROPHIL COUNT (1.3))

I'd like to extract "(LOW NEUTROPHIL COUNT (1.3))".

 

Thanks!

1 ACCEPTED SOLUTION

Accepted Solutions
PeterClemmensen
Tourmaline | Level 20

Here is one way

 

data test;
    string="SUBJECT NOT ELIGIBLE (LOW NEUTROPHIL COUNT (1.3))";
    pID = prxparse('/\((.*?)\)+/');
    call prxsubstr(pID, string, pos, length);
    newstring=substr(string, pos, length);
run;

View solution in original post

4 REPLIES 4
PeterClemmensen
Tourmaline | Level 20

Here is one way

 

data test;
    string="SUBJECT NOT ELIGIBLE (LOW NEUTROPHIL COUNT (1.3))";
    pID = prxparse('/\((.*?)\)+/');
    call prxsubstr(pID, string, pos, length);
    newstring=substr(string, pos, length);
run;
JohnChen_TW
Quartz | Level 8
WOW! It works!
I never used 'prxparse' syntax...before.
I only know SCAN and SUBSTR function...
Thanks a lot!
Ksharp
Super User
data test;
    string="SUBJECT NOT ELIGIBLE (LOW NEUTROPHIL COUNT (1.3))";
    newstring=prxchange('s/[^(]*(\(.+\)).*/$1/',1,string);
run;

SAS Innovate 2025: Register Now

Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 4 replies
  • 1102 views
  • 2 likes
  • 3 in conversation