Help using Base SAS procedures

Character function - names

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 9
Accepted Solution

Character function - names

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


Accepted Solutions
Solution
‎01-10-2015 01:09 PM
Super User
Posts: 19,861

Re: Character function - names

FIND and INDEX functions.

View solution in original post


All Replies
Solution
‎01-10-2015 01:09 PM
Super User
Posts: 19,861

Re: Character function - names

FIND and INDEX functions.

Occasional Contributor
Posts: 9

Re: Character function - names

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

🔒 This topic is solved and locked.

Need further help from the community? Please ask a new question.

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