2017-08-16 185 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