有時(shí)候我們會(huì)接觸到一些頁面數(shù)據(jù)谷遂,那么使用正則表達(dá)式去匹配到想要的數(shù)據(jù)的操作是非常快速的,如圖下為例是本次拿到的部分HTML數(shù)據(jù)粘昨。
接下來是對(duì)數(shù)據(jù)進(jìn)行處理,把請(qǐng)求回來的HTML數(shù)據(jù)進(jìn)入方法體里面進(jìn)行處理
func html_String(html: String) -> Void
{
do{
let pattern = ">.*?<" //正則匹配的數(shù)據(jù)格式 , >.*?< 等價(jià)于 <tb> ** <\tb> 數(shù)據(jù)所取部分的 > ** < 窜锯,開頭>到<結(jié)尾的數(shù)據(jù)张肾,.*?:是所有的數(shù)據(jù) 。
let regular = try NSRegularExpression(pattern: pattern, options: NSRegularExpression.Options.caseInsensitive)
let reg = regular.matches(in: html, options: NSRegularExpression.MatchingOptions.init(rawValue: 0), range: NSMakeRange(0, html.characters.count))
for checking in reg {
var str = (html as NSString).substring(with: checking, range)
//str就是正則匹配后拿到的數(shù)據(jù)锚扎,因?yàn)檫@里拿到的數(shù)據(jù)開頭包含了> 吞瞪、結(jié)尾包含了<,這里對(duì)數(shù)據(jù)進(jìn)行一個(gè)替換的處理,當(dāng)然也可以進(jìn)行刪除的處理驾孔,下面進(jìn)行一個(gè)替換的處理
str = str.replacingOccurrences(of: ">", with: "")
str = str.replacingOccurrences(of: "<", with: "")
print(str) //圖下是最終輸出
}
}
catch
{
}
}