Я хочу получить URL-адрес изображений из String
с помощью NSRegularExpression.Найти строку из строки с помощью NSRegularExpression Swift
func findURlUsingExpression(urlString: String){
do{
let expression = try NSRegularExpression(pattern: "\\b(http|https)\\S*(jpg|png)\\b", options: NSRegularExpressionOptions.CaseInsensitive)
let arrMatches = expression.matchesInString(urlString, options: NSMatchingOptions(rawValue: 0), range: NSMakeRange(0, urlString.characters.count))
for match in arrMatches{
let matchText = urlString.substringWithRange(Range(urlString.startIndex.advancedBy(match.range.location) ..< urlString.startIndex.advancedBy(match.range.location + match.range.length)))
print(matchText)
}
}catch let error as NSError{
print(error.localizedDescription)
}
}
Он работает только с простой строкой, но не с HTML
String
.
Рабочий пример:
let tempString = "jhgsfjhgsfhjgajshfgjahksfgjhs http://jhsgdfjhjhggajhdgsf.jpg jahsfgh asdf ajsdghf http://jhsgdfjhjhggajhdgsf.png"
findURlUsingExpression(tempString)
Выход:
http://jhsgdfjhjhggajhdgsf.jpg
http://jhsgdfjhjhggajhdgsf.png
Но не работает с этим один: http://www.writeurl.com/text/478sqami3ukuug0r0bdb/i3r86zlza211xpwkdf2m
Я попробую и дам вам знать! –
Он работает, но возвращает неверную ссылку - 'http://i-wallpapers.blogspot.com/2011/12/christmas-iphone-wallpapers.html ", imgurl: " http://2.bp.blogspot.com/- w6JW7Dif8kc/TvDIZcOX7nI/AAAAAAAAAQg/9-7TXCZlutM/s1600/iphone_christmas_wallpaper +% 25282% 2529.jpg' –
Это строка, которую вы пытаетесь разобрать или это сайт, который вы посещаете, чтобы получить данные для разбора? – ColGraff