2016-11-26 1 views
4

txt 파일을 읽고 파일의 특정 부분을 출력하는 방법을 알고 싶습니까?Swift에서 txt 파일 읽기 3

예를 들어, "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

위대한 작품입니다! 정말 고맙습니다. – JasonZhao

+1

String에는이 목적으로 정확하게 .byLines 또는 .byWords 옵션이있는 enumerateSubstrings이라는 메서드가 있습니다. –