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

发布于 2024-10-19 00:27:14 字数 73 浏览 0 评论 0原文

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

Is there any way of counting how many times one string occurs in another. Eg. how many times does "/" appear in "bla/hsi/sgg/shrgsvs/"= 4.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

通知家属抬走 2024-10-26 00:27:14

你可以这样做:

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++; 
  }
}

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

You could do:

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

But that's really quick and dirty. Someone else might come up with a better answer shortly.

EDIT:

Now that I think about it, this might work too:

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++; 
  }
}

Although I still think there's gotta be a better way...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文