【问题标题】:Read text file from network URL [duplicate]从网络 URL 读取文本文件 [重复]
【发布时间】:2017-08-16 14:42:48
【问题描述】:

我的代码目前看起来像

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

【问题讨论】:

    标签: swift url


    【解决方案1】:

    您 URL 上的 .rtf 扩展名告诉我该文件包含富文本格式 (RTF),这意味着它在文本中混合了格式标记。

    如果您在 Apple 平台上,您可以使用该平台的 RTF 解析器将文件加载为 NSAttributedString 并从中获取纯文本:

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

    【讨论】:

    • 我也有同样的想法,但显然它不支持https,尝试使用NSAttributedString 下载.rtf 文件时出现以下错误:“错误域=NSCocoaErrorDomain 代码=262 "无法打开文件“test.rtf”,因为不支持 URL 类型 https。" UserInfo={NSURL=s3.eu-west-2.amazonaws.com/sliptip/test.rtf}\n"
    • 将原始文件更改为 .txt 有效,并按应有的方式显示。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-14
    • 1970-01-01
    • 1970-01-01
    • 2010-12-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多