2010-08-26 8 views

Répondre

4

Vous pouvez faire:

NSMutableString *data = [NSMutableString stringWithString:@"abcdefghi"]; 
[data deleteCharactersInRange:NSMakeRange(0, 3)]; 

Ce utilise NSMutableString qui vous permet de supprimer et ajouter des caractères/chaînes à lui-même.

La méthode utilisée ici est deleteCharactersInRange cette opération supprime les lettres dans le NSRange, dans ce cas, la gamme a un location de 0, de sorte qu'il commence au début, et un length de 3, il supprime 3 lettres.

+0

Vous ne pouvez pas initialiser un 'NSMutableString' comme ça, vous devez utiliser' [NSMutableString stringWithString: @ "abcdefghi"] '. – dreamlax

+0

Merci, je viens de le réaliser. Edited ma question. – Joshua

0

NSString est immuable. Vous devez utiliser NSMutableString sauf si vous voulez créer une nouvelle chaîne. Regardez la méthode deleteCharactersInRange.

2
[data substringFromIndex:2] 

Ceci retournera une nouvelle chaîne avec les caractères jusqu'à l'index (2) écrêté.

+0

cela ne supprimera pas les caractères de cette chaîne, mais créera une nouvelle chaîne. bien que cela soit suffisant pour de nombreux cas :-) – taskinoor

+0

Aussi, '[data substringFromIndex: 3]' est ce que l'auteur veut, depuis la [documentation] (http://developer.apple.com/mac/library/documentation/cocoa /reference/Foundation/Classes/NSString_Class/Reference/NSString.html#jumpTo_124) indique que l'index donné est inclus dans le résultat. – dreamlax

1

Une alternative serait NSScanner si vous ne connaissez pas l'emplacement exact de vos caractères que vous souhaitez supprimer: Apple Guide to NSScanners. Vous pouvez aussi regarder le reste du guide, car il décrit très bien ce que vous pouvez faire avec une chaîne dans Obj-C.