Ios 如何获取包含特定字符串的所有URL?

Ios 如何获取包含特定字符串的所有URL?,ios,objective-c,swift,Ios,Objective C,Swift,我需要得到所有以“.jpg”结尾的URL。我的代码: func findPicUrl(url: NSURL){ var error: NSError? var HTML = NSString(contentsOfURL: url, encoding: NSUTF8StringEncoding, error: &error) var detector = NSDataDetector(types: NSTextCheckingType.Link.rawValue,

我需要得到所有以“.jpg”结尾的URL。我的代码:

func findPicUrl(url: NSURL){
    var error: NSError?
    var HTML = NSString(contentsOfURL: url, encoding: NSUTF8StringEncoding, error: &error)
    var detector = NSDataDetector(types: NSTextCheckingType.Link.rawValue, error: nil)
    var matches = detector!.matchesInString(HTML! as String, options: nil, range: NSMakeRange(0, HTML!.length))
    for match in matches {
        if (match as! NSString).containsString(".jpg"){
            println(match)
        }
    }
}
它不带“if statement”打印所有URL,但是当我添加“if statement”时,我得到一个错误

无法将“NSLinkCheckingResult”类型的值强制转换为“NSString”**


如何解决此问题?

替换for循环代码,如下所示

   for match in matches {
        if match.rangeOfString(".jpg") != nil{
           println("match")
       }
    }

按如下所示替换for循环代码

   for match in matches {
        if match.rangeOfString(".jpg") != nil{
           println("match")
       }
    }

按如下所示替换for循环代码

   for match in matches {
        if match.rangeOfString(".jpg") != nil{
           println("match")
       }
    }

按如下所示替换for循环代码

   for match in matches {
        if match.rangeOfString(".jpg") != nil{
           println("match")
       }
    }

您必须从
NSLinkCheckingResult
s中双击
URL
属性,将其转换为NSURL,然后您可以使用
pathExtension
属性查找“jpg”图像链接:

for match in matches {
    if let temp = match.URL, matchURL = temp as NSURL! {
        if matchURL.pathExtension == "jpg" {
            println(matchURL.absoluteString!)
        }
    }
}

您必须从
NSLinkCheckingResult
s中双击
URL
属性,将其转换为NSURL,然后您可以使用
pathExtension
属性查找“jpg”图像链接:

for match in matches {
    if let temp = match.URL, matchURL = temp as NSURL! {
        if matchURL.pathExtension == "jpg" {
            println(matchURL.absoluteString!)
        }
    }
}

您必须从
NSLinkCheckingResult
s中双击
URL
属性,将其转换为NSURL,然后您可以使用
pathExtension
属性查找“jpg”图像链接:

for match in matches {
    if let temp = match.URL, matchURL = temp as NSURL! {
        if matchURL.pathExtension == "jpg" {
            println(matchURL.absoluteString!)
        }
    }
}

您必须从
NSLinkCheckingResult
s中双击
URL
属性,将其转换为NSURL,然后您可以使用
pathExtension
属性查找“jpg”图像链接:

for match in matches {
    if let temp = match.URL, matchURL = temp as NSURL! {
        if matchURL.pathExtension == "jpg" {
            println(matchURL.absoluteString!)
        }
    }
}

文件说:

NSTextCheckingResult是一个用于描述通过文本检查定位的项的类。这些对象中的每一个都表示在分析文本块期间找到的请求文本内容的出现

例如,NSTextCheckingResult有一个
range
属性,该属性包含
HTML
变量中匹配字符串的范围

试试这个

var error: NSError?
if let HTML = NSString(contentsOfURL: NSURL(string:"http://macfix.de")!, encoding: NSUTF8StringEncoding, error: &error) {
  let detector = NSDataDetector(types: NSTextCheckingType.Link.rawValue, error: nil)
  let matches = detector!.matchesInString(HTML as String, options: nil, range: NSMakeRange(0, HTML.length))
  for match in matches {
    let HTMLmatch = (HTML as NSString).substringWithRange(match.range)
    if HTMLmatch.rangeOfString("jpg") != nil {
      println(HTMLmatch)
    }
  }
}

文件说:

NSTextCheckingResult是一个用于描述通过文本检查定位的项的类。这些对象中的每一个都表示在分析文本块期间找到的请求文本内容的出现

例如,NSTextCheckingResult有一个
range
属性,该属性包含
HTML
变量中匹配字符串的范围

试试这个

var error: NSError?
if let HTML = NSString(contentsOfURL: NSURL(string:"http://macfix.de")!, encoding: NSUTF8StringEncoding, error: &error) {
  let detector = NSDataDetector(types: NSTextCheckingType.Link.rawValue, error: nil)
  let matches = detector!.matchesInString(HTML as String, options: nil, range: NSMakeRange(0, HTML.length))
  for match in matches {
    let HTMLmatch = (HTML as NSString).substringWithRange(match.range)
    if HTMLmatch.rangeOfString("jpg") != nil {
      println(HTMLmatch)
    }
  }
}

文件说:

NSTextCheckingResult是一个用于描述通过文本检查定位的项的类。这些对象中的每一个都表示在分析文本块期间找到的请求文本内容的出现

例如,NSTextCheckingResult有一个
range
属性,该属性包含
HTML
变量中匹配字符串的范围

试试这个

var error: NSError?
if let HTML = NSString(contentsOfURL: NSURL(string:"http://macfix.de")!, encoding: NSUTF8StringEncoding, error: &error) {
  let detector = NSDataDetector(types: NSTextCheckingType.Link.rawValue, error: nil)
  let matches = detector!.matchesInString(HTML as String, options: nil, range: NSMakeRange(0, HTML.length))
  for match in matches {
    let HTMLmatch = (HTML as NSString).substringWithRange(match.range)
    if HTMLmatch.rangeOfString("jpg") != nil {
      println(HTMLmatch)
    }
  }
}

文件说:

NSTextCheckingResult是一个用于描述通过文本检查定位的项的类。这些对象中的每一个都表示在分析文本块期间找到的请求文本内容的出现

例如,NSTextCheckingResult有一个
range
属性,该属性包含
HTML
变量中匹配字符串的范围

试试这个

var error: NSError?
if let HTML = NSString(contentsOfURL: NSURL(string:"http://macfix.de")!, encoding: NSUTF8StringEncoding, error: &error) {
  let detector = NSDataDetector(types: NSTextCheckingType.Link.rawValue, error: nil)
  let matches = detector!.matchesInString(HTML as String, options: nil, range: NSMakeRange(0, HTML.length))
  for match in matches {
    let HTMLmatch = (HTML as NSString).substringWithRange(match.range)
    if HTMLmatch.rangeOfString("jpg") != nil {
      println(HTMLmatch)
    }
  }
}

pathExtension
非常完美+成功了!多谢各位<代码>路径扩展非常完美+成功了!多谢各位<代码>路径扩展非常完美+成功了!多谢各位<代码>路径扩展非常完美+成功了!非常感谢你!