Expresión regular para encontrar una subcadena unida por < >
Frecuentes
Visto 313 veces
0
¿Cuál es el código NSRegularExpression para obtener la primera aparición de una subcadena unida por <> en una cadena dada?
Cadena de búsqueda de ejemplo:
*01234:Q23WFA:10<HELLOWORLD>09AS:1019
Resultado necesario: HELLOWORLD
Gracias.
1 Respuestas
0
Usted puede ensayar lo siguiente
NSString *string = @"*01234:Q23WFA:10<HELLOWORLD>09AS:1019";
NSError *error = NULL;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"(?<=<)(.*?)(?=>)"
options:NSRegularExpressionCaseInsensitive
error:&error];
NSTextCheckingResult *match = [regex firstMatchInString:string
options:0
range:NSMakeRange(0, [string length])];
NSRange resultRange = [match range];
NSString *substring = [string substringWithRange:resultRange];
NSLog(@"Testing Indicator. Result is %@", substring);
Respondido el 30 de Septiembre de 13 a las 02:09
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas ios objective-c regex nsregularexpression or haz tu propia pregunta.
/<(.*?)>/s
? ¿Quizás eso debería funcionar? - user115422¿Tiene que ser una expresión regular? Obtener el primer rango de la
<
subcadena y obtenga el primer rango de la>
subcadena que comienza con la ubicación del<
. Esto sería mucho más eficiente que usar expresiones regulares. - rmaddy@rmaddy Eso es lo que tengo actualmente, pensé que NSRegularExpression sería más rápido. - Cyprian
Las expresiones regulares de propósito general rara vez son más eficientes que el código de propósito específico. - rmaddy
@rmaddy Gracias. Si puede responder esta pregunta con NSRegularExpression, agregaré mi solución de subcadena para que otros tengan algo para elegir. ¡Gracias por la ayuda! - Cyprian