您好,我尝试在iphone的objective-c中转换我的java函数
Java:
public int substrCount(String str, String needle) {
int count = 0;
int index = -needle.length();
while ((index = str.indexOf(needle, index + needle.length())) != -1) {
count++;
}
return count;
}Iphone:
-(int)substrCount:(NSString *) str withSearch:(NSString *) needle
{
NSRange lastIndex;
lastIndex.length = [str length];
NSInteger count =0;
while(lastIndex.length != -1){
lastIndex = [str rangeOfString:needle options:NSCaseInsensitiveSearch range:lastIndex];
//lastIndex = str.indexOf(needle,lastIndex);
if( lastIndex.length != -1){
NSLog(@"+1");
count ++;
}
}
}但这太难了,我不知道我什么时候能做到。
也许有更好的解决方案?我没有发现任何东西:/
很抱歉我的英语不好!
发布于 2010-12-26 02:04:55
我可能永远不会在生产环境中编写这段代码,但您可以简单地问:
[str1组件分离字节字符串:str2计数]- 1;
该表达式的结果将是一个整数,表示在str1中找到str2的次数。
但是,代码的问题在于rangeOfString:如果找不到子字符串,则返回NSNotFound,而不是-1。
https://stackoverflow.com/questions/4531049
复制相似问题