web-dev-qa-db-fra.com

Comment obtenir les trois premiers caractères d'un NSString?

Comment puis-je retourner les trois premiers caractères d'un NSString?

102
cgossain
 mystr=[mystr substringToIndex:3];

Assurez-vous que votre chaîne a au moins 3 canaux. O.e. l'application va se bloquer

Voici d'autres liens pour vérifier les opérations de NSsting ...

Link1

Link2

Lien Apple

261
GameLoading

Tout d'abord, vous devez vous assurer que la chaîne contient au moins 3 caractères:

NSString *fullString = /* obtain from somewhere */;
NSString *prefix = nil;

if ([fullString length] >= 3)
    prefix = [fullString substringToIndex:3];
else
    prefix = fullString;

substringToIndex: lève une exception si l'index que vous fournissez est au-delà de la fin de la chaîne.

61
dreamlax

la bonne façon est:

text = [text substringToIndex:NSMaxRange([text rangeOfComposedCharacterSequenceAtIndex:2])];

substringToIndex de NSString est indexé par unité de code, emoji prend deux unités de code.

assurez-vous de vérifier l'index vous-même.

2
peak