Comment puis-je obtenir chaque ligne à partir d'une NSString?
Si j'ai un NSString avec un fichier texte, comment puis-je obtenir un NSArray de NSString avec chaque NSString contenant une ligne du fichier.
En 10.5 j'ai fait ceci:
NSArray* lines = [str componentsSeparatedByCharactersInSet: [NSCharacterSet newlineCharacterSet]];
Mais qui ne fonctionne pas en 10.4, et mon programme doit travailler en 10.4.
Ainsi, il doit travailler avec les \r, \n et \r\n de fin de ligne.
OriginalL'auteur Roland Rabien | 2008-12-05
Vous devez vous connecter pour publier un commentaire.
Le code suivant est directement à partir de La documentation d'Apple au sujet des paragraphes et des sauts de ligne:
Je ne suis pas sûr à 100% si elle va travailler avec 10,4
OriginalL'auteur e.James
Je vais d'abord de remplacer tous les "\r" par "\n", ensuite, remplacer tous les "\n\n" par "\n", puis faire un componentsSeparatedByString:@"\n".
OriginalL'auteur Heng-Cheong Leong
Énumère toutes les lignes d'une chaîne à l'aide de
enumerateLinesUsingBlock:
OriginalL'auteur Vineet Choudhary
Directement à partir d'un projet de mine:
Je ne suis pas sûr de savoir comment faire automatiquement fonctionner avec tout type de fin de ligne en 10.4.
OriginalL'auteur Rich Catalano
Selon la NSString de référence de classe, le NSString message componentsSeparatedByCharactersInset: est disponible dans OS X 10.5 ou version ultérieure. Vous avez besoin d'utiliser componentsSeparatedByString:.
OriginalL'auteur John Safranek
Vous pouvez également faire
enumerateSubstringsInRange:
avec leNSStringEnumerationByLines
et/ouNSStringEnumerationByParagraphs
options.L'avantage de faire de cette façon est que vous obtenez le NSRange de chaque sous-chaîne, et peut également définir la plage initiale de la chaîne d'énumérer.
OriginalL'auteur siburb