2011-12-05 21 views

Respuesta

46

uso rangeOfCharactersFromSet:

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

nota: esto también encontrará espacio en blanco al principio o al final de la cadena. Si no desea que este ajuste de la cadena de primera ...

NSString *trimmedString = [foo stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; 
NSRange whiteSpaceRange = [trimmedString rangeOfCharacterFromSet:[NSCharacterSet whitespaceCharacterSet]]; 
4

También puede seguir estos pasos:

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

Si no hay ningún espacio en blanco en su cadena, entonces se separará y los almacenar diferentes componentes en la matriz. Ahora necesitas tomar la cuenta de la matriz. Si count es mayor que 1, significa que hay dos componentes, es decir, presencia de espacio en blanco.

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

Tenga en cuenta que esto es muy lento. Cuanto más largo es 'testString', más lento se vuelve en comparación con el método' rangeOfCharacterFromSet: 'que he usado. Como estaba aburrido esta mañana, comparé el rendimiento de ambos métodos y escribí una [publicación de blog] (http://matthiasbauch.com/2013/05/26/stackoverflow-how-to-check-whether-a-string- contains-white-spaces /) al respecto. –

Cuestiones relacionadas