найти номер объекта NSArray в строке - PullRequest
0 голосов
/ 25 июня 2011

Я хотел бы посчитать мой объект NSArray моей строки NSString.Мой NSArray содержит @"a", @"w" объектов, а моя строка - @"abcdefgw".Я хотел бы знать, сколько раз объект @"w" присутствует в моей строке.

Ответы [ 2 ]

2 голосов
/ 25 июня 2011

Вы можете использовать - (NSArray *)componentsSeparatedByString:(NSString *)separator, хотя это может иметь проблемы с границами. Вы также можете использовать stringByReplacingOccurrencesOfString:withString: так:

NSString *shortString = [myString stringByReplacingOccurrencesOfString:@"w" withString:@""];
return mystring.length-shortString.length;
0 голосов
/ 25 июня 2011

если вы хотите подсчитать подстроки, вам придется искать подстроки, а затем каждый раз уменьшать диапазон ... что-то вроде.

-(NSInteger)occurrencesOfSubstring:(NSString *)substring inString:(NSString *)string
{
    int occurrences =0;

    NSRange searchRange = NSMakeRange(0, [string length]);
    NSRange foundRange;
    do {
        foundRange = [string rangeOfString:substring options:NSCaseInsensitiveSearch range:searchRange];
        if ((foundRange.location != NSNotFound)) {
            occurrences++;
            searchRange.location = foundRange.location+foundRange.length;
            searchRange.length = [string length] - (foundRange.location+foundRange.length);
        }
    }while (foundRange.location != NSNotFound);    

    return occurrences;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...