【发布时间】:2017-09-11 16:59:00
【问题描述】:
我从 HTML Scraping 中获取了一组数据,类似于:
var resultArray = ["Maths", 2, 7, 8, "Grammar", 1, "Science", 7, 8]
我想做的是在找到“字符串”值时对其进行除法。 结果应如下所示:
var new_arr1 = ["Maths", 2, 7, 8]
var new_arr2 = ["Grammar", 1]
var new_arr2 = ["Science", 7, 8]
问题是,如果我使用这样的东西:
func chunk(_ chunkSize: Int) -> [[Element]] {
return stride(from: 0, to: self.count, by: chunkSize).map({ (startIndex) -> [Element] in
let endIndex = (startIndex.advanced(by: chunkSize) > self.count) ? self.count-startIndex : chunkSize
return Array(self[startIndex..<startIndex.advanced(by: endIndex)])
})
}
我只能有一个固定的“newArray”大小。
使用 Xcode8 和 Swift3。提前致谢。
【问题讨论】:
-
resultArray的类型是什么?你为什么一开始就让自己得到这样的结果?您应该在在抓取时形成最终结果。 -
问题是我对HTML不太了解,需要逐行抓取一个HTML Table,但是Swift中没有例子。
-
"问题是我对 HTML 不太了解,需要逐行抓取 HTML 表格,但 Swift 中没有示例" 您没有任何“示例”永远想做。你的工作是学习你需要知道的东西,然后做一些编程。如果你正确地编写了你的爬取代码,你以后就不需要划分任何东西了。
标签: arrays swift chunks stride