[英]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: "°", with: "º")
DispatchQueue.main.async(execute: { () -> Void in
print(extract)
})
}
}
if self.wasConSuccessful == false {
self.conditionsLabel.text = "!"
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.