objective-c ios nsstring substring nsrange

objective c - Obtención del índice de un personaje en NSString con desplazamiento y uso de subcadenas en Objective-C



ios substring (1)

- (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOptions)mask range:(NSRange)aRange

Para las opciones de uso: NSBackwardsSearch

NSRange range = [myString rangeOfString:@" " options:NSBackwardsSearch range:NSMakeRange(0, 11)];

Ejemplo:

NSString *myString=[NSString stringWithFormat:@"This is my lovely string"]; NSRange range = [myString rangeOfString:@" " options:NSBackwardsSearch range:NSMakeRange(0, 11)]; NSLog(@"range.location: %lu", range.location); NSString *substring = [myString substringFromIndex:range.location+1]; NSLog(@"substring: ''%@''", substring);

Salida de NSLog:

range.location: 10 substring: ''lovely string''

Por supuesto, debe haber un error al verificar que range.location no es igual a NSNotFound

¡Tengo una cadena!

NSString *myString=[NSString stringWithFormat:@"This is my lovely string"];

Lo que quiero hacer es:

  1. Suponiendo que el primer carácter de la cadena está en el índice 0. Vaya al carácter 11 (que es ''l'' en el caso anterior), y encuentre la posición del primer espacio que aparece al revés (en la cadena anterior, la posición del primer espacio que aparece si vamos hacia atrás desde ''l'' está en la posición 10). Llamemos al índice de este espacio ''leSpace'' con valor 10.
  2. Substring la cadena restante a una nueva cadena usando ...

    [myString substringFromIndex:leSpace]

... Espero haberte explicado bien. Por favor ayuda, ¿puedes escribir un fragmento o algo para ayudarme a hacer esta tarea?