2016-11-26 2 views
4

Ich möchte wissen, wie man aus einer TXT-Datei liest und bestimmte Teile der Datei ausdruckt?Aus der txt-Datei in Swift 3 lesen

Zum Beispiel: "test.txt" enthält:

'' 'Jason 16 männlich Selbst programing

Josh 15 männlichen Freund art' ''

Also für einen Weg, ich bin auf der Suche um jedes Wort und jede Zeile separat zu drucken. Wie nur Druck:

"Jason"

"Jason ist 16"

"Josh liebt Kunst"

Dies ist, was ich von der Suche um so weit gekommen

if let filepath = Bundle.main.path(forResource: "test", ofType: "txt") 
    { 
     do 
     { 
      let contents = try String(contentsOfFile: filepath) 
      print(contents[0]) 

     } 
     catch 
     { 
      // contents could not be loaded 
     } 
    } 
    else 
    { 
     // example.txt not found! 
    } 

Vielen Dank für Ihre Unterstützung.

+0

Wenn Sie zugreifen möchten, sollten Sie die Wörter getrennt eine Eigenschaftsliste verwenden (eine besondere Art von XML) statt einer einfachen Textdatei. – vadian

+0

hmm, vielleicht könnte das auch funktionieren. Aber ich möchte den Text wirklich in einer txt-Datei speichern, da ich tatsächlich viele Informationen in der txt-Datei haben werde. Jede Zeile hat Informationen, die in Beziehung stehen, und dann mehr als 200 Zeilen von txt. – JasonZhao

+0

Funktioniert nicht unter Linux –

Antwort

5

Sobald Sie Ihre Datei in contents gelesen haben, können Sie es in Linien brechen und Wörter mit Code wie:

let lines = contents.components(separatedBy: "\n") 
for line in lines { 
    let words = line.components(separatedBy: " ") 
    print("\(words[0]) is \(words[1]) and likes \(words[4])") 
} 
+0

Das funktioniert super! Ich danke dir sehr. – JasonZhao

+1

String hat eine Methode namens enumerateSubstrings mit Optionen .byLines oder .byWords genau für diesen Zweck –