Contare il numero di parole in una stringa NSString

Ecco un modo veloce per contare il numero di parole in un oggetto NSString. Il trucco è quello di utilizzare il whitespaceAndNewlineCharacterSet set di caratteri, che andrà a cercare gli spazi, tabulazioni e caratteri newline (daccapo).

[code lang=”obj-c”]- (NSUInteger)contaParole:(NSString *)str {
NSUInteger parole = 0;
NSScanner *scanner = [NSScanner scannerWithString: str];
// controlla spazi, tab e newline
NSCharacterSet *whiteSpace = [NSCharacterSet whitespaceAndNewlineCharacterSet];
while ([scanner scanUpToCharactersFromSet:whiteSpace intoString:nil]) words++; return words;
}[/code]

oppure

[code lang=”obj-c”]return [[str componentsSeparatedByString:@\” \”] count];[/code]

ma in questo modo puoi controllare solo gli spazi ” “. Un modo davvero rozzo…

Se hai un altro modo per raggiungere lo stesso risultato, fammelo sapere in un commento.