Advent of Code is back! Unwrap daily challenges to sharpen your Alteryx skills and earn badges along the way! Learn more now.
Free Trial

Alteryx Designer Desktop Discussions

Find answers, ask questions, and share expertise about Alteryx Designer Desktop and Intelligence Suite.
SOLVED

Parse if Capital Letter in Middle of Word

kristinaheuer
7 - Meteor

Hi - 

 

I am trying to improve a customer file - I know I won't be able to solve for many cases, but I am trying to parse names if there is a capital letter within the name. Example: SteveR I want to parse into Steve (column 1) and R (column 2). Below is a snippet of my data set for reference. 

 

kristinaheuer_0-1620830724104.png

 

5 REPLIES 5
MarqueeCrew
20 - Arcturus
20 - Arcturus

What about McMillan or HelenMcMillan?

Alteryx ACE & Top Community Contributor

Chaos reigns within. Repent, reflect and restart. Order shall return.
Please Subscribe to my youTube channel.
kristinaheuer
7 - Meteor

Since this dataset is "first names" only, I am mostly concerned with grabbing the true first name and remove middle initials and middle names.

apathetichell
19 - Altair

 

 

try regex_match([column],"\w+\u+\w*",0") - that worked with my dataset.

 

I'd expect REGEX_Match([test],"[a-zA-Z]+\u+\w*",0)

 

would be more precise and should be better but I'm not seeing differences on my sample data.

 

Sorry - misread your request - those would just grab which columns have a non-leading capital letter inside the field.

 

I'd do something like (\u*\w+)(\u+\w*)|(\w+) in regex tool (parse) case insensitive unchecked.

 

 

MarqueeCrew
20 - Arcturus
20 - Arcturus

@kristinaheuer ,

 

 I'd use a RegEx tool set to PARSE the [firstName] with case insensitivity option UNCHECKED 


(\u\l*)(\u*\l*)

 

 cheers,

 

 mark

 

Alteryx ACE & Top Community Contributor

Chaos reigns within. Repent, reflect and restart. Order shall return.
Please Subscribe to my youTube channel.
AdamR_AYX
Alteryx Alumni (Retired)

I have a non regex solution, but I'm not convinced it is any clearer to read than the regex answers in this case

 

AdamR_0-1620834760702.png

 

FindString(Substring(ReplaceChar([Field1], "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "*"),1),"*")+1

 

gives you the index of the first capital letter not counting the first character of the string.

Adam Riley
https://www.linkedin.com/in/adriley/
Labels
Top Solution Authors