Eso debería ser realmente simple pero no quiere funcionar. Quiero buscar CoreData usando un NSPredicate que use un NSRegularExpression. Me gustaría buscar myString o myString_10 (10 es cualquier número posible, por ejemplo myString_333).NSPredicate y NSRegularExpression
Este es mi código:
NSString *regexString = [NSString stringWithFormat:@"%@_[0-9]+", value];
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:regexString
options:NSRegularExpressionSearch
error:&error];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(label = %@) OR (label = %@)", value, regex];
valor es una cadena y la etiqueta es la clave de la entidad.
Si el valor es "Nuevo proyecto", NSFetchRequest devuelve una matriz con un objeto, aunque tengo dos etiquetas en mi modelo ("Nuevo proyecto" y "Nuevo proyecto_1") que deben buscarse.
¿Qué estoy haciendo mal?
Lo leí. No encontré la parte donde dice que la expresión regular debe ser parte de la cadena de predicados. Vea ese ejemplo: http://stackoverflow.com/questions/2458881/nspredicate-and-regex – strave
Voy a editar y volver a redactarlo. El problema que estaba tratando de señalar es que estás usando 'NSRegularExpression' y no' NSString'. Aún puedes usar% @ pero con una cadena. – Joe
¡Genial, funcionó! Ahora tengo la idea. ¡Muchas gracias! – strave