I'm trying to find a substring in an NSString. But I want to find
whole words (e.g. like in the Find panel when you choose "Full word"
from the popup, rather than "Contains" or "Starts With").
Unless I'm missing something, it looks like NSString's -
rangeOfString:options:range:locale: doesn't have an option for
finding whole words.
How does the Find panel do it, then? Am I going to have to "roll my
own" code for string searching? That sounds error-prone to me; I'd
much rather have the OS do it.
You could get close with generating the characters you expect to find
at the word boundaries with:
You would need to change this accordingly if you did not want numbers
to be considered as a word boundary. You could of course create a
boundary character set with just whitespace and punctuation marks - it
just depends on how you would like the final feature to work.
You could then use this character set with an NScanner to search for
"Full words".