Вхождения символов в String Objective C

Как я могу подсчитать появление символа в строке?

Пример

Строка: 123-456-7890

Я хочу найти число встречаемости "-" в заданной строке

Ответ 1

Вы можете просто сделать это следующим образом:

NSString *string = @"123-456-7890";
int times = [[string componentsSeparatedByString:@"-"] count]-1;

NSLog(@"Counted times: %i", times);

Вывод:

Counted times: 2

Ответ 2

Это сделает работу,

int numberOfOccurences = [[theString componentsSeparatedByString:@"-"] count];

Ответ 3

Я сделал это для вас. попробуйте это.

unichar findC;
int count = 0;
NSString *strr = @"123-456-7890";

for (int i = 0; i<strr.length; i++) {
    findC = [strr characterAtIndex:i];
    if (findC == '-'){
        count++;
    }
}

NSLog(@"%d",count);

Ответ 4

int num = [[[myString mutableCopy] autorelease] replaceOccurrencesOfString:@"-" withString:@"X" options:NSLiteralSearch range:NSMakeRange(0, [myString length])];

Метод replaceOccurrencesOfString:withString:options:range: возвращает количество замен, которые были сделаны, поэтому мы можем использовать это для определения количества - в вашей строке.

Ответ 5

Вы можете использовать replaceOccurrencesOfString:withString:options:range: метод NSString

Ответ 6

int total = 0;
NSString *str = @"123-456-7890";
for(int i=0; i<[str length];i++)
{
    unichar c = [str characterAtIndex:i];
    if (![[NSCharacterSet alphanumericCharacterSet] characterIsMember:c])
    {
        NSLog(@"%c",c);
        total++;
    }
}
NSLog(@"%d",total);

это сработало. Надеюсь, поможет. счастливое кодирование:)