Estoy buscando determinar si un valor de cadena de una entrada de usuario (UITextField) está "en blanco" si no es nulo. Comprobar si [textField.text isEqualToString:""]
no es suficiente porque quiero evitar cualquier entrada en blanco/en blanco (como por ejemplo, algunos caracteres de espacio).¿Cuál es la mejor manera de recortar el espacio en blanco de una cuerda en Cocoa Touch?
Parece haber una indicación de una buena solución para mi problema particular in this StOv post.
Básicamente es algo como esto, pero sospecho que tiene que (o debería) haber una mejor manera:
NSString *strResult;
NSScanner* scanner = [NSScanner scannerWithString:textField.text];
BOOL hasValidChars = [scanner scanUpToCharactersFromSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]
intoString:&strResult];
// if hasValidChars == YES, we've got nonwhite space chars collected into strResult
Esto claramente sólo funciona para mi circunstancia particular, e incluso entonces sería un error si el primer personaje era un espacio, pero seguí los datos que quería. Entonces, me doy cuenta de que Ruby me ha echado a perder un poco, pero debe haber un idioma probado y verdadero para recortar cadenas en Cocoa.
Aaaand la respuesta ya está ahí fuera, mis disculpas:
de -stringByTrimmingCharactersInSet:
NSString lo haría:
devuelve una nueva cadena hecha mediante la eliminación de desde ambos extremos del receptor caracteres contenidos en un conjunto de caracteres dado .
Tengo curiosidad por saber si alguien tiene otras formas/preferidas de hacerlo.
string.length> 0 – elliotrock