Я пытаюсь извлечь URL-адреса из строки, они не стандартизированы, поэтому некоторые из них находятся внутри тегов href, другие - сами по себе.
Также мне нужно, чтобы они были отсортированы по типу, например, следующие строки:
var txt1: String = "Some text! <a href="http://www.google.com/test.mp3">MP3</a>"
var txt2: String = "Some text! <a href="http://www.google.com/test.jpg">IMG</a>"
var txt3: String = "Some more! <a href="http://www.google.com/">Link!</a>"
Итак, все эти строки объединены и содержат 3 URL, я ищу что-то вроде:
var result: List = List(
"mp3" -> List("http://www.google.com/test.mp3"),
"img" -> List("http://www.google.com/test.jpg"),
"url" -> List("http://www.google.com/")
)
Я изучил регулярные выражения, но дошел до того, что извлекал hrefs без определения типов, и это также не позволяет получать URL-адреса самостоятельно вне тегов
val hrefRegex = new Regex("""\<a.*?href=\"(http:.*?)\".*?\>.*?\</a>""");
val hrefs:List[String]= hrefRegex.findAllIn(txt1.mkString).toList;
Любая помощь высоко ценится, заранее спасибо:)