Вопрос по iphone – Проверка нескольких символов в nsstring

2

У меня есть строка, и я хочу проверить наличие нескольких символов в этой строке. Следующий код работает нормально для одного символа, как проверить наличие нескольких символов.

NSString *yourString = @"ABCCDEDRFFED"; // For example
NSScanner *scanner = [NSScanner scannerWithString:yourString];

NSCharacterSet *charactersToCount = @"C" // For example
NSString *charactersFromString;

if (!([scanner scanCharactersFromSet:charactersToCount intoString:&charactersFromString])) {
    // No characters found
    NSLog(@"No characters found");
}

NSInteger characterCount = [charactersFromString length];

Ваш Ответ

3   ответа
5

ОБНОВИТЬ Предыдущий пример был разбит, какNSScanner не следует использовать таким образом. Вот гораздо более простой пример:

NSCharacterSet* characters = [NSCharacterSet characterSetWithCharactersInString:@"ABC"];
NSUInteger characterCount;

NSUInteger i;
for (i = 0; i < [yourString length]; i++) {
  unichar character = [yourString characterAtIndex:i];
  if ([characters characterIsMember:character]) characterCount++;
}

NSLog(@"Total characters = %d", characterCount);
Почему этот метод возвращает количество символов только в том случае, если набор символов содержит 2 или более символов? Если я установлю это: NSCharacterSet * charactersToCount = [NSCharacterSet CharacterSetWithCharactersInString: @ "C"]; Я ожидаю получить characterCount = 2, но вместо этого я получаю: «Символы не найдены». Любые идеи noodl_es
Я обновил предыдущий пример. Nathan de Vries
0

+ (id)characterSetWithCharactersInString:(NSString *)aString

Вы можете создать набор символов с более чем одним символом (отсюда и набор символов имени), используя этот метод класса для создания своего набора. Параметр является строкой, каждый символ этой строки заканчивается в наборе символов.

0

кольких экземпляров одного и того же символа.

Например, из документов:

countForObject: возвращает счетчик, связанный с данным объектом в приемнике.

- (NSUInteger)countForObject:(id)anObject

Parameters anObject Объект, для которого возвращается счетчик.

Return Value Количество, связанное с anObject в приемнике, которое можно рассматривать как количество вхождений anObject, присутствующих в приемнике.

Похожие вопросы