iOS程序员半栈工程师

iOS — Swift : 使用正则表达式获取HTML数据

2017-07-17  本文已影响54人  Cy_Star

有时候我们会接触到一些页面数据,那么使用正则表达式去匹配到想要的数据的操作是非常快速的,如图下为例是本次拿到的部分HTML数据。


网络请求数据.jpg

接下来是对数据进行处理,把请求回来的HTML数据进入方法体里面进行处理

func html_String(html: String) -> Void 
{
      do{
              let pattern = ">.*?<"     //正则匹配的数据格式 , >.*?<  等价于  <tb> ** <\tb> 数据所取部分的 > ** < ,开头>到<结尾的数据,.*?:是所有的数据 。
              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就是正则匹配后拿到的数据,因为这里拿到的数据开头包含了>  、结尾包含了<,这里对数据进行一个替换的处理,当然也可以进行删除的处理,下面进行一个替换的处理
                    str = str.replacingOccurrences(of: ">", with: "") 
                    str = str.replacingOccurrences(of: "<", with: "") 
                    print(str)      //图下是最终输出
              }
      }
      catch  
      {

      }
}
处理后的输出图.jpg
上一篇下一篇

猜你喜欢

热点阅读