Trouver l'index des caractères dans la Chaîne Swift

Il est temps d'admettre la défaite...

dans Objective-C, je pourrais utiliser quelque chose comme:

NSString* str = @"abcdefghi";
[str rangeOfString:@"c"].location; // 2

dans Swift, je vois quelque chose de similaire:

var str = "abcdefghi"
str.rangeOfString("c").startIndex

...mais ça me donne juste un String.Index , que je peux utiliser pour réécrire dans la chaîne originale, mais pas pour extraire un emplacement.

FWIW, que String.Index a un ivar privé appelé _position qui a la valeur correcte en il. Je ne vois pas comment il est exposé.

je sais que je pourrais facilement ajouter ceci à String moi-même. Je suis plus curieux de savoir ce que je manque dans cette nouvelle API.

179
demandé sur Matt Wilding 2014-06-04 08:42:23

29 réponses