2016-04-17 6 views
0

Ich versuche, wie viele Zeilen von Daten zu zählen, da in meiner Akte ist, und ich bin mit diesem Stück Code, es zu tun:Count Zeilen in der Datei Swift

data = try String(contentsOfFile: localFilePath as String, 
          encoding: NSASCIIStringEncoding) 
let textArr = data.componentsSeparatedByString("\r") 
     let myCount = textArr.count 
     print(myCount) 

jedoch egal, wie viele Linien von Text gibt es in meiner Datei scheint es immer zu drucken 1. Was mache ich hier falsch?

+5

Haben Sie versucht zu trennen die Daten mit "\ n"? – ridvankucuk

+1

Sie sollten NSUTF8StringEncodig verwenden –

Antwort

0

Versuchen Sie, den Terminator in "\ n" zu ändern.

Es ist möglich, dass Ihre Datei Unix-ähnliche Zeilenenden hat. Bedeutungszeilen werden mit \ n beendet.

Unix-ähnliche Systeme (wie OS X und iOS) terminieren normalerweise Zeilen mit \ n. Windows beendet Zeilen mit \ r \ n.

Quelle: https://en.wikipedia.org/wiki/Newline#Representations

5

Wir konnten durch '\r' geteilt sind die Linien, '\n', oder was auch immer raten, ob, oder wir könnten weise die neue Linie Zeichensatz verwenden:

let newLineSet = NSCharacterSet().newLineCharacterSet() 
let textArr = data.componentsSeparatedByCharactersInSet(newLineSet) 
Verwandte Themen