¿Cómo puedo verificar si una cadena contiene las letras inglesas (de la A a la Z) en Objective-C? En PHP, hay un método preg_match para eso.¿Cómo comprobar si una cadena contiene letras inglesas (A-Z)?
Respuesta
Un enfoque sería usar expresiones regulares: la clase NSRegularExpression
. A continuación se muestra cómo puede detectar cualquier letras en inglés, pero el patrón podría modificarse para que coincida solo si toda la cadena consta de tales letras. Algo así como ^[a-zA-Z]*$
.
NSRegularExpression *regex = [[[NSRegularExpression alloc]
initWithPattern:@"[a-zA-Z]" options:0 error:NULL] autorelease];
// Assuming you have some NSString `myString`.
NSUInteger matches = [regex numberOfMatchesInString:myString options:0
range:NSMakeRange(0, [myString length])];
if (matches > 0) {
// `myString` contains at least one English letter.
}
Como alternativa, puede construir un NSCharacterSet
que contiene los caracteres que le interesa y utilizar NSString
's rangeOfCharacterFromSet:
para encontrar la primera aparición de cualquiera. Debo señalar que este método solo encuentra el primer carácter en la cadena. Tal vez no es lo que buscas.
Finalmente, siento que podría hacer algo con las codificaciones, pero no he pensado tanto. Quizás determine si la cadena se puede representar utilizando ASCII (usando canBeConvertedToEncoding:
) y luego verifique los números/símbolos.
¡Oh, y siempre puedes repetir la cadena y verificar cada carácter! :)
Usted puede utilizar la clase NSRegularExpression
(documentación de Apple en la clase se puede ver here)
También es posible usar NSCharacterSet y utilizar el rangeOfCharacterFromSet: método para ver si el NSRange devuelto es toda la gama de la cadena. characterSetWithRange sería un buen lugar para comenzar a crear su characterSet.
Puede usar la prueba simple NSPredicate
.
NSString *str = @"APPLE";
NSString *regex = @"[A-Z]+";
NSPredicate *test = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
BOOL result = [test evaluateWithObject:str];
- 1. javascript regex: solo letras inglesas permitidas
- 2. Verificar si la cadena contiene letras iniciales
- 3. ¿Cómo puedo verificar si una cadena Perl contiene letras?
- 4. cómo comprobar si la cadena contiene carácter '+'
- 5. JavaScript - comprobar si hay letras minúsculas en una cadena
- 6. Comprobar si la cadena contiene todo "?"
- 7. ¿Cómo comprobar si una cadena contiene dos caracteres de asterisco?
- 8. Cómo comprobar si una cadena contiene espacios en blanco
- 9. Ruby: ¿Cómo comprobar si una cadena contiene varios elementos?
- 10. Cómo comprobar si una cadena contiene alguna de las cadenas
- 11. Cómo comprobar si una cadena contiene solo caracteres específicos
- 12. ¿Comprobar cadena si contiene solo caracteres latinos?
- 13. cómo determinar si una cadena contiene una secuencia de letras repetidas
- 14. Comprobar NSString contiene letras y números
- 15. Usando StreamReader para comprobar si un archivo contiene una cadena
- 16. Compruebe si una cadena contiene una subcadena
- 17. ¿Cómo comprobar si el contenido de la cadena contiene HTML?
- 18. Verificación de que una cadena contiene sólo letras en C#
- 19. cómo probar una cadena de letras solamente
- 20. Oracle SQL - REGEXP_LIKE contiene caracteres distintos de az o AZ
- 21. Comprobar si WPF DataRowView contiene una columna
- 22. Comprobar si una cadena dentro de una lista contiene una cadena específica con LINQ
- 23. ¿Cómo verificar si una cadena de php contiene solo letras y dígitos en inglés?
- 24. CharInSet no funciona con letras que no sean inglesas?
- 25. cómo comprobar si una lista contiene una lista secundaria
- 26. iPhone: ¿Cómo comprobar si existe una subcadena en una cadena?
- 27. ¿Cómo comprobar si una cadena comienza con una cadena especificada?
- 28. Comprobar si un elemento de la lista de Python contiene una cadena dentro de otra cadena
- 29. Cómo comprobar si una cadena contiene un elemento de una lista en Python
- 30. Ruby: cómo comprobar si una cadena contiene todas las palabras de una matriz?
* Contiene * o * solamente contiene *? –