Number of occurrences of a substring in an NSString?
cocoa, nsstring, objective-c, substring
Solution
This isn't tested, but should be a good start.
NSUInteger count = 0, length = [str length];
NSRange range = NSMakeRange(0, length);
while(range.location != NSNotFound)
{
range = [str rangeOfString: @"cake" options:0 range:range];
if(range.location != NSNotFound)
{
range = NSMakeRange(range.location + range.length, length - (range.location + range.length));
count++;
}
}
Problem
How can I get the number of times an NSString (for example, `@"cake"`) appears in a larger NSString (for example, `@"Cheesecake, apple cake, and cherry pie"`)? I need to do this on a lot of strings, so whatever method I use would need to be relatively fast. Thanks!