繁体   English   中英

如何在Swift 3的字符串中表示HTML中的换行符

[英]How do I represent line breaks in HTML within a string in Swift 3

我正在使用以下代码从网站的HTML中提取天气信息。 该代码跟踪给定的URL,并搜索由我作为字符串给出的两个短语分隔的内容。 我需要提取的信息是在两个短语之间,但是第一个短语在HTML中有一个换行符。

如何在字符串中表示呢? 我尝试过简单地删除换行符并使用\\n但这使获取不成功,因为找不到该短语。 我在代码中将换行符表示为四个星号。

我还附加了正在查看的HTML图像。 在这种情况下,我尝试提取HTML中给出的时间,但是我也想提取“清晰,无云的天空”位,显然,它会定期更改,其前面的某些内容也会定期更改。

需要时间的原因是我知道这一点,风会改变,并且我想最终提取当前条件,所以我必须告诉代码插入正确的时间和风才能获取当前时间条件。

if let url = attemptedURL {
    let task = URLSession.shared.dataTask(with: url, completionHandler: { (data, response, error) -> Void in
        if let urlContent = data {
            let webContent = NSString(data: urlContent, encoding: String.Encoding.utf8.rawValue)
            let websiteArray = webContent?.components(separatedBy: "<span class=\"current_description\">****<span>")

            if websiteArray!.count > 1 {
                let conditionArray = websiteArray![1].components(separatedBy: "</span>")

                if conditionArray.count > 1 {
                    self.wasConSuccessful = true

                    let extract = conditionArray[0].replacingOccurrences(of: "&deg;", with: "º")

                    DispatchQueue.main.async(execute: { () -> Void in
                        print(extract)
                    })
                }
            }

            if self.wasConSuccessful == false {
                self.conditionsLabel.text = "!"

HTML图片

使用SwiftSoup

do{
    let doc: Document = try SwiftSoup.parse("<span class=\"current_description\"><span>5:30</span><span>3 km/h</span></span>")
    let current_desc = try doc.getElementsByClass("current_description").first()
    try print(current_desc?.select("span").get(1).text())//"5:30"
}catch Exception.Error(let type, let message){
    print(message)
}catch{
    print("error")
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM