I’m writing a Mac app that goes through an NSString, and adds all its word to an NSArray (by separating them based on whitespace). Now, I’ve got the whole system down, but I’m still having one little problem: names (first + last), are added as two different words, and that’s bothersome to me.
I thought of a couple solutions to fix this. My best idea was to, before actually adding the words to the array, join two words in a row that are capitalized. Then, through an if statement, determine if a word has two capitals in it, and then split the word and add it as one word. However, I can’t find a way to find 2 words in a row with capitals.
Should I be using RegexKitLite (which I’m not familiar with), for example, to find two capitalized words in a row? I’ve seen this question: Regexp to pull capitalized words not at the beginning of sentence and two adjacent words
which seems somehow related, but due to my lack of understand of regular expressions, I don’t really know if this is exactly what I need.
I’ve also seen this: Separating NSString into NSArray, but allowing quotes to group words
which is also similar, yet not exactly adapted to my needs.
So, to conclude, does anyone know how to either join capitalized words in an NSString, or even better, how to find two capitalized words in a row in an NSString ?
If you’re targeting iOS 4.0 or greater OR OS 10.7 you can use NSRegularExpression
You’ll get something like this
[“Three Four”, “Seven Eigth”]