2016-11-26 104 views
4

我想知道如何从txt文件中读取并打印出文件的特定部分?从Swift 3中读取txt文件

例如, “的test.txt” 将包含:

'' '贾森男16自编程

乔希15男性朋友的艺术' ''

所以我在寻找一种方式分别打印每个单词和行。如只打印:

“杰森”

“贾森是16”

“乔希喜欢艺术”

这是我从摸索

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! 
    } 
走到这一步,

感谢您的支持。

+0

如果您要访问的字进行单独考虑使用属性列表(一种特殊的XML的)而不是纯文本文件。 – vadian

+0

嗯,也许这也可以工作。但我真的想将文本存储在一个txt文件中,因为实际上我将很多信息放在txt文件中。每行有相关的信息,然后有200多行txt。 – JasonZhao

+0

在Linux上无法正常工作 –

回答

5

一旦您已经阅读您的文件到contents你可以打破成线和单词,像代码:

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

This works great!非常感谢。 – JasonZhao

+1

字符串有一个名为enumerateSubstrings的方法,其中带有options .byLines或.byWords的确切用于此目的 –