Le cacao: exploser ou briser une nsstring en mots

Video: 5 techniques to speak any language | Sid Efromovich | TEDxUpperEastSide

La séparation d`une chaîne de texte en mots composant est une exigence pour effectuer des recherches dans le texte et tout autre traitement de texte. Cette tâche est facile à Cocoa / Objective-C, bien qu`elle nécessite de creuser à travers quelques références de classe dans la documentation. Si vous avez besoin d`une expansion plus compliquée d`une chaîne, au moins ce code vous donnera un point de départ.

Video: vitre explose


Pour rompre le NSString bigString dans un NSArray contenant chacun des mots séparés par des blancs, en utilisant:

NSString * bigString = @"pas vraiment grand"-

NSArray * mots = [bigString componentsSeparatedByCharactersInSet: [NSCharacterSet whitespaceCharacterSet]] -

Video: casse de verre

Le cœur de cette opération est la méthode componentsSeparatedByCharactersInSet de NSString. Il brise bigString dans un tableau de NSStrings. Les limites de mots sont définies par l`objet NSCharacterSet généré par la méthode de classe whitespaceCharacterSet qui fournit des caractères d`espace et de tabulation. Les différents caractères de saut de ligne unicode peuvent être ajoutés à ces caractères blancs en appelant la méthode whitespaceAndNewlineCharacterSet dans l`exemple ci-dessus.

Bien sûr, les mots peuvent être séparés par plus d`espaces et des sauts de ligne. caractères de ponctuation peuvent être référencés à l`aide de la méthode punctuationCharacterSet à NSCharacterSet. Pour effectuer une détonation correcte du texte grammaticale des mots constitutifs séparés par des espaces, des sauts de ligne, et la ponctuation, vous devez créer un jeu de caractères qui est une union de ces trois ensembles:

NSMutableCharacterSet * = séparateurs [NSMutableCharacterSet punctuationCharacterSet] -

[Séparateurs formUnionWithCharacterSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]] -

NSArray * mots = [bigString componentsSeparatedByCharactersInSet: séparateurs] -

Articles connexes