Remplacer uniquement la première instance d'une sous-chaîne dans une NSString
Donc si vous avez un NSString qui va:
@"My blue car is bigger than my blue shoes or my blue bicycle";
Je voudrais une méthode qui remplace seulement la première instance de bleu, de vert, de produire:
@"My green car is bigger than my blue shoes or my blue bicycle";
Comment faire?
- Pourquoi le vote vers le bas?
Vous devez vous connecter pour publier un commentaire.
En supposant que les entrées suivantes:
L'algorithme est assez simple:
original = @"then"
replacement = @"than"
pourrait également être souhaitable.original
estnil
SWIFT 3 et 4 de mise à JOUR:
Dans Swift est utile s'étend Chaîne de cette façon:
De cette façon, vous pouvez appeler partout:
Swift 4 version:
initialString
ne contient pas de@"blue"
.D'abord localiser la sous-chaîne, puis effectuer le remplacement. Exemple :
NSString de la documentation.
stringByReplacingOccurrencesOfString:
est inutile ici, parce qu'enfirstFooRange
n'est qu'un seul événement. UtilisationstringByReplacingCharactersInRange:
à la place.