2017-08-16 229 views
0

我的代碼目前看起來像閱讀文本文件

import UIKit 

if let url = URL(string: "https://s3.eu-west-2.amazonaws.com/sliptip/test.rtf") { 
    do { 
     let contents = try String(contentsOf: url) 
     print(contents) 
    } catch { 
     // contents could not be loaded 
    } 
} else { 
    // the URL was bad! 
} 

,並返回了大量的專業術語,

\f0\fs24 \cf0 NEW Newcastle 84 } 

,但我要的是沒有前後字符的內容。

理想的情況下,應該只是打印

NEW Newcastle 84 

回答

0

.rtf擴展你的網址告訴我,該文件包含RTF格式(RTF),這意味着它已標記的格式與文字混合。

如果你是蘋果平臺上,你可以使用該平臺的RTF解析器將文件加載爲NSAttributedString,並從它那裏得到的純文本:

let richText = try NSAttributedString(url: url, options: [:], documentAttributes: nil) 
let plainText = richText.string 
+0

我有同樣的想法,但顯然它不't支持'https',當使用'NSAttributedString'嘗試下載'.rtf'文件時出現以下錯誤:「Error Domain = NSCocoaErrorDomain Code = 262」文件「test.rtf」無法打開,因爲URL類型https不受支持。「UserInfo = {NSURL = https://s3.eu-west-2.amazonaws.com/sliptip/test.rtf} \ n」 –

+0

將原始文件更改爲.txt工作並顯示正如它應該。謝謝 – Wackerflacker