2009-09-22 6 views
1

Je voulais savoir s'il existe une méthode (facile) pour trouver l'ordre d'un tableau donné de sous-chaînes dans un NSString?Comment déterminer l'ordre des sous-chaînes dans un NSString?

J'ai un grand bloc de texte et quelques sous-chaînes. Je suis seulement intéressé par l'ordre dans lequel les sous-chaînes apparaissent d'abord dans le texte. Donc, si le texte était "pouvez-vous me dire que vous travaillez tard si vous le pouvez" et les sous-chaînes étaient "peut", "si" et "vous", je voudrais un tableau qui contient les sous-chaînes dans le ordre suivant: peut, vous, si.

Il serait assez long d'analyser le texte moi-même, donc je me demande s'il y a des fonctionnalités gratuites pour cela?

Merci

Répondre

3

Voir la méthode -rangeOfSubstring:. Trouvez où sont les mots qui vous intéressent, puis comparez la valeur de départ de leurs plages.

+0

Attention: En fonction des sous-chaînes recherchées, vous devrez peut-être éviter les plages de chevauchement. Ce serait probablement une bonne idée de couvrir ce cas avec des tests unitaires de toute façon, de sorte que vous pouvez changer la liste des sous-chaînes plus tard (ou à l'exécution) sans tomber dans le piège. –

+0

Cela a bien fonctionné. Et je garde le conseil de Peter à l'esprit. Alors merci, tous les deux! – infiniteloop

0

Eh bien la façon simple serait de le faire et voir comment il sort. Il serait peu probable que la direction de l'analyse change aléatoirement sans raison. Donc, ce que je veux dire, il suffit de l'exécuter, de prendre note de la façon dont il analyse, et d'utiliser cela comme une ligne directrice. Testez si nécessaire.

Questions connexes