计算字符串在另一个字符串中出现的次数

时间:2011-02-21 15:00:16

标签: objective-c cocoa macos

有没有办法计算一个字符串在另一个字符串中出现的次数。例如。 “/ /”出现在“bla / hsi / sgg / shrgsvs /”= 4中的次数。

1 个答案:

答案 0 :(得分:4)

你可以这样做:

NSArray *a = [myString componentsSeparatedByString:@"/"];
int i = [a count] - 1;

但那真的很快又脏。其他人可能很快会得到一个更好的答案。

修改

现在我考虑一下,这也可能有用:

NSUInteger count = 0;
NSUInteger length = [str length];

NSRange range = NSMakeRange(0, length); 
while(range.location != NSNotFound)
{
  range = [str rangeOfString: @"/" options:0 range:searchRange);
  if(range.location != NSNotFound)
  {
    range = NSMakeRange(range.location + range.length, length - (range.location + range.length));
    count++; 
  }
}

虽然我仍然认为必须有更好的方法......