RosettaCodeData/Task/Run-length-encoding/Scala/run-length-encoding-3.scala

5 lines
203 B
Scala

def decode(s: String, Code: scala.util.matching.Regex = """(\d+)?([a-zA-Z])""".r) =
Code.findAllIn(s).foldLeft("") { case (acc, Code(len, c)) =>
acc + c * Option(len).map(_.toInt).getOrElse(1)
}