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

Hello,

I have a variable - full names, and I want to separate all names (last, middle, first).

The variable is usually like Dan I Cooper. However some persons' names include a nick name and their names are like Johnson (John) E Allen. So I want to have a function to tell me which full names include a nickname within (). My solution is to use : If ANYPUNCT(fullname)>0 then nick_name=scan(fullname,2).

But now I find out a new issue, some full names are like Jeff M O'Hagan. With an apostrophe, the anypunct(fullname) is also greater than 0.

So is there a function I can just search parentheses within a string?

Thank you!

P.S. of course these names are not real names.

Cliff

1 ACCEPTED SOLUTION

Accepted Solutions
Reeza
Super User

FIND and INDEX functions.

View solution in original post

2 REPLIES 2
Reeza
Super User

FIND and INDEX functions.

cliff
Calcite | Level 5

Thanks! I just find(fullname,'(') and filter out those nicknames.

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

What is Bayesian Analysis?

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.

SAS Training: Just a Click Away

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

Browse our catalog!

Discussion stats
  • 2 replies
  • 905 views
  • 0 likes
  • 2 in conversation