web-dev-qa-db-fra.com

comment supprimer les 3 premiers caractères de nsstring?

J'ai une chaîne comme celle-ci "A. rahul VyAs"

et je veux supprimer "A." et l'espace après le "A." afin que la nouvelle chaîne soit "rahul VyAs"

Comment y parvenir?

68
Rahul Vyas

Vous pouvez utiliser les méthodes d'instance NSStringsubstringWithRange: ou substringFromIndex:

NSString *str = @"A. rahul VyAs";
NSString *newStr = [str substringWithRange:NSMakeRange(3, [str length]-3)];

ou

NSString *str = @"A. rahul VyAs";
NSString *newStr = [str substringFromIndex:3];
243
Alex Rozanski

Essaye ça,

char *string=[@"A. rahul VyAs" cStringUsingEncoding:NSUTF8StringEncoding];
char *subString=&name[3];
NSString *newString=[NSString stringWithCString:subString encoding:NSUTF8StringEncoding];
2
rakeshNS

C'est une solution que j'ai vue spécifiquement pour supprimer les préfixes qui se produisent régulièrement et résoudre la réponse à la question Comment supprimer "A."?

NSString * name =  @"A. rahul VyAs";
NSString * prefixToRemove = @"A. "; 
name = [name stringByReplacingOccurrencesOfString:prefixToRemove withString:@""];

Ce code supprimera ce que vous lui demandez de supprimer/modifier si le jeu de caractères existe, tel que "A.", même si les trois caractères (ou plus/moins) sont au milieu de la chaîne .

Si vous souhaitez supprimer rahul, vous le pouvez. Il est différent en ce que vous spécifiez exactement ce que vous souhaitez supprimer ou modifier, et s'il existe n'importe où dans la chaîne, il sera supprimé ou modifié.

Si vous voulez seulement qu'un certain nombre spécifié de caractères soient supprimés de l'avant du texte et qu'ils soient toujours aléatoires ou inconnus, utilisez la méthode [longueur de chaîne] comme c'est la première réponse.

Si vous souhaitez supprimer ou modifier certains caractères qui apparaissent à plusieurs reprises, la méthode que j'ai utilisée permettra cela, similaire à Wordsearch sur les éditeurs de documents.

1
App Dev Guy