web-dev-qa-db-fra.com

Remplacement d'un caractère dans une chaîne dans Objective-C

En espérant que quelqu'un puisse m'aider - je voudrais remplacer un certain caractère dans une chaîne et je me demande quelle est la meilleure façon de le faire?

Je connais l'emplacement du caractère, donc par exemple, si je veux changer le 3ème caractère d'une chaîne de A en B - comment pourrais-je coder cela?

48
RanLearns

S'il s'agit toujours du même caractère, vous pouvez utiliser:

stringByReplacingOccurrencesOfString:withString:

S'il s'agit de la même chaîne au même emplacement, vous pouvez utiliser:

stringByReplacingOccurrencesOfString:withString:options:range:

Si c'est juste un emplacement spécifique, vous pouvez utiliser:

stringByReplacingCharactersInRange:withString:

Documentation ici: https://developer.Apple.com/documentation/foundation/nsstring

Ainsi, par exemple:

NSString *someText = @"Goat";
NSRange range = NSMakeRange(0,1);
NSString *newText = [someText stringByReplacingCharactersInRange:range withString:@"B"];

newText équivaudrait à "Boat"

87
theChrisKent
NSString *str = @"123*abc";
str = [str stringByReplacingOccurrencesOfString:@"*" withString:@""];
//str now 123abc
28
Salim

Voici le code:

[aString stringByReplacingCharactersInRange:NSMakeRange(3,1) withString:@"B"];
6
Zakaria

Utilisez le replaceCharactersInRange: withString: message sur un objet NSMutableString.

4
Bourne