2012-08-02 3 views
1

Je veux savoir comment copmare la première lettre entre deux chaînes, comme string1 commence par la lettre «a» et string2 commence par la lettre «b», puis string1 doit d'abord afficher.xcode 4.3 comparer les chaînes

Répondre

3

Ce ne sont pas strictement conformes aux règles de comparaison de chaînes UNICODE, qui sont complexes pour les alphabets non latins, mais est rapide au moins:

NSString *first = [string1 characterAtIndex:0] <= [string2 characterAtIndex:0] ? string1 : string2; 
4

Ne pas réinventer la roue. Utilisez

NSComparisonResult order = [firstString compare:secondString]; 

à la place. (NSComparisonResult docs)

+0

+1 Vous avez raison, mais le mien le plus vite je parie ;-) Et en fait est plus proche de la question de l'OP dans laquelle il veut juste comparer le premier personnage, pas tous les ... – trojanfoe

+0

@trojanfoe Eh bien, si vous avez exécuté un benchmark dessus ...;) –

+0

Sûrement '[[firstString substringToIndex: 1] comparer: [secondString substringToIndex: 1]]' répondrait exactement à l'ensemble de questions? – Tommy