Как проверить, содержит ли строка пробелы - PullRequest
22 голосов
/ 05 декабря 2011

Как проверить, содержит ли строка пробелы между символами?

Ответы [ 2 ]

49 голосов
/ 05 декабря 2011

использование rangeOfCharactersFromSet:

NSString *foo = @"HALLO WELT";
NSRange whiteSpaceRange = [foo rangeOfCharacterFromSet:[NSCharacterSet whitespaceCharacterSet]];
if (whiteSpaceRange.location != NSNotFound) {
    NSLog(@"Found whitespace");
}

примечание: это также найдет пробел в начале или конце строки. Если вы не хотите это обрезать строку сначала ...

NSString *trimmedString = [foo stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
NSRange whiteSpaceRange = [trimmedString rangeOfCharacterFromSet:[NSCharacterSet whitespaceCharacterSet]];
5 голосов
/ 05 декабря 2011

Вы также можете выполнить следующие действия:

NSArray *componentsSeparatedByWhiteSpace = [testString componentsSeparatedByString:@" "];

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

if([componentsSeparatedByWhiteSpace count] > 1){
    NSLog(@"Found whitespace");
}
...