Nombre de caractères dans NSString ou NSMutableString?
J'ai essayé ce
NSCharacterSet *myCharSet = [NSCharacterSet characterSetWithCharactersInString: myString];
[myCharSet count];
Mais un message d'avertissement indique que NSCharacterSet peut ne pas réagir à compter. C'est pour les applications de bureau et n'a pas d'iPhone, je pense que le code ci-dessus fonctionne avec.
- Pour être clair: vous voulez que le nombre de caractères dans la chaîne?
- Non - seulement le nombre total de caractères.
Vous devez vous connecter pour publier un commentaire.
J'ai peut-être raté quelque chose ici, mais ce qui est mal à simplement faire:
Pour obtenir exactement le nombre de caractères dans une chaîne, je ne vois pas de raison de se compliquer la vie avec NSCharacterSet.
-length
retournethe number of Unicode characters in the receiver.
(tel que défini par laNSString
de la documentation). Techniquement, la documentation est faux, car il renvoie en faitthe number of UTF-16 Code Units
et pasthe number of Unicode characters
. Cette distinction est sans importance pour la grande majorité des programmeurs et des utilisations, mais il ne avoir des conséquences importantes. Par exemple,[@"\U0010ffff" length]
retourne2
même si elle ne contient qu'un seul caractère Unicode.characterAtIndex:
pour0
et1
retourne0xdbff
et0xdfff
, respectivement.length
méthode mentionnée ci-dessus... même si c'est 1 caractère.Qui ne doivent pas travailler sur l'iPhone, comme NSCharacterSet n'est pas une sous-classe de NSSet sur les deux plate-forme.
Si vous avez vraiment besoin d'obtenir un décompte pourquoi ne pas sous-classe NSSet, ajouter de la valeur, puis avoir une méthode qui retourne comme un NSCharacterSet sur demande pour une utilisation dans tout ce qui a besoin d'un jeu de caractères?