web-dev-qa-db-fra.com

Supprimer le dernier caractère de NSString

J'ai un peu de mal à essayer de supprimer le dernier caractère d'un NSString . Je suis un débutant en Objective-C et je ne sais pas comment faire pour que cela fonctionne.

Pourriez-vous m'éclairer?

69
markus
NSString *newString = [oldString substringToIndex:[oldString length]-1];

Toujours se référer à la documentation :


Pour inclure le code correspondant à votre cas:

NSString *str = textField.text;
NSString *truncatedString = [str substringToIndex:[str length]-1];
186
sidyll

Essaye ça:

s = [s substringToIndex:[s length] - 1];
11
Mark Byers
NSString *string = [NSString stringWithString:@"ABCDEF"];
NSString *newString = [string substringToIndex:[string length]-1];
NSLog(@"%@",newString);

Vous pouvez voir = ABCDE

4
alpertayfun
NSString = *string = @"abcdef";

string = [string substringToIndex:string.length-(string.length>0)];

S'il y a un caractère à supprimer (c'est-à-dire que la longueur de la chaîne est supérieure à 0) (string.length>0) renvoie 1, rendant ainsi le code retournant: 

 string = [string substringToIndex:string.length-1]; 

S'il n'y a PAS de caractère à supprimer (c'est-à-dire que la longueur de la chaîne n'est PAS supérieure à 0) (string.length>0) renvoie 0, rendant ainsi le code retournant: 

string = [string substringToIndex:string.length-0]; 

qui empêche les accidents.

3
Tahir Mehmood

Ce code renverra simplement le dernier caractère de la chaîne et ne le supprimera pas:

NSString *newString = [oldString substringToIndex:[oldString length]-1];

vous pouvez utiliser ceci pour supprimer le dernier caractère et conserver les valeurs restantes d'une chaîne:

str = [str substringWithRange:NSMakeRange(0,[str length] - 1)];

et également en utilisant substringToIndex à une chaîne NSString avec 0 longueur provoquera des plantages.

vous devriez ajouter une validation avant de le faire, comme ceci:

if ([str length] > 0) {

   str = [str substringToIndex:[s length] - 1];

}

avec cela, il est prudent d'utiliser la méthode de sous-chaîne.

REMARQUE: Apple rejettera votre application si elle est vulnérable aux plantages.

1
krischu

Simple et meilleure approche

[mutableString deleteCharactersInRange:NSMakeRange([myRequestString length]-1, 1)];
0
Mayur Sardana