Pregunta Comprueba si NSString contiene algún número y tiene al menos 7 caracteres de largo


Así que me imagino que necesito una declaración de expresiones regulares para hacer esto, pero no he tenido que hacer ninguna expresión regular con el objetivo c todavía, y no he escrito una declaración de expresiones regulares en un año.

Creo que debería ser como ((? =. * [0-9]). {7,1000})

¿Cómo pongo esto en una comparación objetiva de cadenas c y evalúo los resultados?

También es correcto mi expresión regular?


15
2017-10-20 03:10


origen


Respuestas:


Si bien una expresión regular probablemente funcione, hay otro enfoque:

NSString *str = // some string to check for at least one digit and a length of at least 7
if (str.length >= 7 && [str rangeOfCharacterFromSet:[NSCharacterSet decimalDigitCharacterSet]].location != NSNotFound) {
    // this matches the criteria
}

Este código realmente verifica más que solo 0-9. También maneja dígitos de otros idiomas. Si realmente solo quieres 0-9, entonces reemplaza:

[NSCharacterSet decimalDigitCharacterSet]

con:

[NSCharacterSet characterSetWithCharactersInString:@"0123456789"];

62
2017-10-20 03:23