i have link , i want use swift 3 to get string between two separated string , like this :
<div class=\"article_list_block\">\n\t\t<p>\t\t\t\t\t\n\t\t\t<h1> xxxxx </h1>
where xxxxx duplicate many times in html code , how can extract this string xxxxx and put it in array in swift 3. i use this code but i can extract just one time and create array for 1 element not for all xxxxxin whole html output.
if let url = URL(string: "http://ift.tt/2lxq98c") {
let request = NSMutableURLRequest(url: url)
let task = URLSession.shared.dataTask(with: request as URLRequest) {
data, response, error in
var message = ""
if error != nil {
print(error)
} else {
if let unwrappedData = data {
var dataString = NSString(data: unwrappedData, encoding: String.Encoding.utf8.rawValue)
var stringSeparator = "<div class=\"article_list_block\">\n\t\t<p>\t\t\t\t\t\n\t\t\t<h1>"
var x = 1
repeat {
self.contentArray = (dataString?.components(separatedBy: stringSeparator))!
print("0=\(self.contentArray[0])")
print("11=\(self.contentArray[1])")
if self.contentArray.count > 1 {
stringSeparator = "</h1>"
self.TenderList = self.contentArray[1].components(separatedBy: stringSeparator)
//print("1=\(self.TenderList[1])")
if self.TenderList.count > 1 {
message = self.TenderList[0]
// print("3=\(self.TenderList[1])")
dataString = self.TenderList[1] as NSString?
// print("2=\(dataString)")
//self.TenderList = [""]
self.TenderList.append(message)
// print(message)
// print("contenet array\(self.contentArray)")
}
}
x += 1
// print("x=\(x)")
} while( x < 3 )
}
}
if message == "" {
message = "The weather there couldn't be found. Please try again."
}
DispatchQueue.main.sync(execute: {
// self.resultLabel.text = message
})
}
task.resume()
self.tableView.reloadData()
} else {
// resultLabel.text = "The weather there couldn't be found. Please try again."
}
Aucun commentaire:
Enregistrer un commentaire