Slide 19
Slide 19 text
18
Statisticians: Shell, Concise Syntax
(4,"c#")
(4,"winforms")
...
(4,3104,1.0)
(4,2148819,1.0)
...
scala> val postIDTags = postsXML.flatMap { line =>
val idTagRegex =
"Id=\"(\\d+)\".+Tags=\"([^\"]+)\"".r
val tagRegex = "<([^&]+)>".r
idTagRegex.findFirstMatchIn(line) match {
case None => None
case Some(m) => {
val postID = m.group(1).toInt
val tagsString = m.group(2)
val tags = tagRegex.findAllMatchIn(tagsString)
.map(_.group(1)).toList
tags.map((postID,_))
}
}
}