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

如何在Swift 3的字符串中表示HTML中的换行符,html,ios,swift,Html,Ios,Swift,我使用以下代码从网站的HTML中提取天气信息。代码跟踪给定的URL并搜索由我作为字符串给出的两个短语分隔的内容。我需要提取的信息在两个短语之间,但是第一个短语在HTML中有一个换行符 我如何在字符串中表示它?我尝试过简单地删除换行符并使用\n,但这会导致获取失败,因为它找不到该短语。我用四个星号表示代码中的换行符 我还附上了我正在查看的HTML的图像。在本例中,我试图提取HTML中给定的时间,但我还想提取“晴朗无云的天空”位,它显然会定期更改,前面的一些内容也会定期更改 需要时间的原因是我知道这

我使用以下代码从网站的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 = "!"
如果let url=attemptedURL{
让task=URLSession.shared.dataTask(带有:url,completionHandler:{(数据,响应,错误)->Void in
如果让urlContent=data{
让webContent=NSString(数据:urlContent,编码:String.encoding.utf8.rawValue)
设websiteArray=webContent?.components(以“**”分隔)
如果网站数组!.count>1{
让conditionArray=websiteArray![1]。组件(以:“”分隔)
如果conditionArray.count>1{
self.wasConSuccessful=true
let extract=conditionArray[0]。replacingOccurrences(of:“°;”,with:”)
DispatchQueue.main.async(在中执行:{()->Void
打印(摘录)
})
}
}
如果self.wasConSuccessful==false{
self.conditionsLabel.text=“!”
使用

do{
让doc:Document=try swifsoup.parse(“5:303 km/h”)
让current_desc=try doc.getElementsByClass(“current_description”).first()
尝试打印(当前描述?.select(“span”).get(1.text())/“5:30”
}捕获异常。错误(let类型,let消息){
打印(信息)
}抓住{
打印(“错误”)
}
使用

do{
让doc:Document=try swifsoup.parse(“5:303 km/h”)
让current_desc=try doc.getElementsByClass(“current_description”).first()
尝试打印(当前描述?.select(“span”).get(1.text())/“5:30”
}捕获异常。错误(let类型,let消息){
打印(信息)
}抓住{
打印(“错误”)
}

尝试将换行符表示为

。不-这似乎不起作用。感谢您的建议,thoughTry\r\n,这是为了我的运气-有缩进空格和没有缩进空格。感谢您的建议!让text=self.replacingOccurrences(of:“\r\n”,with:“
”)对我来说,self就是字符串,因为它是从StringTry获取attributedString的扩展,StringTry将换行符表示为

。不,这似乎不起作用。谢谢你的建议,thoughTry\r\n,这是为了我的运气,不管有没有缩进空格。谢谢你的建议!让text=self.replacingOccurrences(of:“\r\n”,with:“
”)这样做对我来说,self是字符串,因为它位于从字符串获取attributedString的扩展名中
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")
}