?
$ scala
Welcome to Scala version 2.10.3 (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_65).
Type in expressions to have them evaluated.
Type :help for more information.
scala> :paste
// Entering paste mode (ctrl-D to finish)
def stripBrackets(str: String) = str.replaceAll("\\[", "").replaceAll("\\]", "")
def stripBrackets(ls: List[String]): List[String] =
ls match {
case Nil => ls
case List(head) => List(stripBrackets(head))
case List(head, last) => List(stripBrackets(head), stripBrackets(last))
case _ => stripBrackets(ls.head) :: ls.take(ls.size - 1).drop(1) ::: (stripBrackets(ls.last) :: Nil)
}
val singleElemList = List("[value1]")
val twoElemList = List("[value1", "value2]")
val multiElemList = List("[value1", "value2", "value3", "value4]")
// Exiting paste mode, now interpreting.
stripBrackets: (str: String)String <and> (ls: List[String])List[String]
stripBrackets: (str: String)String <and> (ls: List[String])List[String]
singleElemList: List[String] = List([value1])
twoElemList: List[String] = List([value1, value2])
multiElemList: List[String] = List([value1, value2, value3, value4])
scala> stripBrackets(singleElemList)
res0: List[String] = List(value1)
scala> stripBrackets(twoElemList)
res1: List[String] = List(value1, value2)
scala> stripBrackets(multiElemList)
res2: List[String] = List(value1, value2, value3, value4)