gpt4 book ai didi

swift - 在 swift 中使用 NSString 方法 stringByReplacingOccurrenceOfString 时出现问题

转载 作者:行者123 更新时间:2023-11-30 12:56:55 26 4
gpt4 key购买 nike

在此项目中,我尝试在我的应用程序中显示网页 (weather-forecast.com) 的一部分。我已将 html 内容下载到“webContent”中,并使用 ComponentsSeparatedByString 将 html 代码分解为字符串数组,然后获取我的应用程序所需的索引。这部分位于'websiteArray 1 ’这个值是一个字符串“大部分干燥。非常温和(周六下午最高 17°C,周五晚上最低 8°C)。风力增强(周五晚上平静,周日晚上有来自 ESE 的新鲜风)。”它包含 ° 而不是符号 °,我尝试使用 stringByReplacingOccurrencesOfString 将 ° 替换为 °。我发现这个方法不能在字符串上调用,只能在 NSString 上调用,所以我尝试将字符串转换为 NSString,但现在我收到错误“[String] 无法转换为 NSString”。

任何人都可以为我指明如何转换为 NSString 数组或使用 stringByReplacingOccurrenceOfString 方法的替代方法吗?

let url = NSURL(string: "http://www.weather-forecast.com/locations/London/forecasts/latest")!

let task = NSURLSession.sharedSession().dataTaskWithURL(url) { (data, response, error) -> Void in

if let urlContent = data {

let webContent = NSString(data: urlContent, encoding: NSUTF8StringEncoding)

let websiteArray = webContent?.componentsSeparatedByString("3 Day Weather Forecast Summary:</b><span class=\"read-more-small\"><span class=\"read-more-content\"> <span class=\"phrase\">")



if websiteArray?.count > 0{
//print(websiteArray![1])
var weatherArrayWithDeg = websiteArray![1].componentsSeparatedByString("</span>")

// Need to convert to NSString to use stringByReplacingOccurenceOfString, want to separate '$deg;' for ' °'
let weatherArray = (weatherArrayWithDeg as NSString).stringByReplacingOccurrencesOfString("&deg;", withString: " °")

print(weatherArrayWithDeg[0])
}

}
}

task.resume()

enter image description here

最佳答案

我会选择解决你的问题而不是你的问题:

添加为扩展:

extension String {

func convertFromHTML() -> String? {

if let htmldata = self.data(using: String.Encoding.utf8), let attributedString = try? NSAttributedString(data: htmldata, options: [NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType], documentAttributes: nil) {
return attributedString.string
}

return nil
}
}

用法:

let weather = "its 70&deg; outside"
print("weather: \(weather.convertFromHTML())")

请注意,您现在可以解决应用程序任何部分中任何字符串、任何需要转换的 HTML 的问题。这很酷。

关于swift - 在 swift 中使用 NSString 方法 stringByReplacingOccurrenceOfString 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40311612/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com