Wie bekomme ich jede Zeile aus einem NSString?
Wenn ich ein NSString mit einer text-Datei, wie bekomme ich ein NSArray von NSString mit jedem NSString mit einer Zeile der Datei.
In 10.5 habe ich diese:
NSArray* lines = [str componentsSeparatedByCharactersInSet: [NSCharacterSet newlineCharacterSet]];
Aber das funktioniert nicht in 10.4 und mein Programm braucht, um zu arbeiten 10.4.
Als gut, es muss mit \r, \n und \r\n-Zeilenenden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Folgende code ist direkt aus Die Dokumentation von Apple in Bezug auf Absätze und Zeilenumbrüche:
Bin ich mir nicht 100% sicher, ob es mit 10,4
Listet alle Zeilen in einem string mit
enumerateLinesUsingBlock:
Zuerst werd ich alle ersetzen "\r" "\n", dann " alle ersetzen "\n\n" mit "\n", und führen Sie dann eine componentsSeparatedByString:@"\n".
Gerade von einem Projekt von mir:
Ich bin mir nicht sicher, wie zu machen es automatisch funktioniert mit jeder Art von Linien-enden in 10.4.
Entsprechend der NSString class reference, die NSString-Nachricht componentsSeparatedByCharactersInset: ist verfügbar in OS X 10.5 oder später. Sie benötigen componentsSeparatedByString:.
Können Sie auch tun
enumerateSubstringsInRange:
mit derNSStringEnumerationByLines
- und/oderNSStringEnumerationByParagraphs
Optionen.Der Vorteil dabei ist, dass Sie die NSRange jeder Teilstring, und kann auch die erste Reihe der string aufgelistet werden.