2012-05-24 14 views

Respuesta

72
NSString *[email protected]"1,2,3,4"; 
[str stringByReplacingOccurrencesOfString:@"3," withString:@""]; 

que eliminará todas las apariciones de @ "3", en str.

Si desea eliminar sólo la primera aparición de @ "3":

NSString* str = @"1,2,3,4"; 
NSRange replaceRange = [str rangeOfString:@"3,"]; 
if (replaceRange.location != NSNotFound){ 
    NSString* result = [str stringByReplacingCharactersInRange:replaceRange withString:@""]; 
} 

Espero que esto ayude.

+1

[str stringByReplacingOccurrencesOfString: @ "3," withString: @ ""]; – samfisher

+0

@samfisher editado, gracias – sonxurxo

+2

Esto solo funcionará si sabe que el elemento que se va a eliminar es parcial en la lista. Por ejemplo, si el número 4 fuera eliminado, debería saber que está al final de la lista y que no hay una coma al final, de modo que reemplaza "4" por "" en lugar de "4". –

6
NSString *[email protected]"1,2,3,4"; 
    int numberToRemove = 4; 

str = [str stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@"%d",numberToRemove] withString:@""]; 
str = [str stringByReplacingOccurrencesOfString:@",," withString:@","]; 

Esto ayudará.

+2

Esto resuelve el problema que comencé a responder a @sonxurxo. –

Cuestiones relacionadas