If you ever need a Scala method/function to convert a string with newline characters in it to a sequence of strings (Seq[String]
), here you go:
def convertStringWithNewlinesToSeq(s: String): Seq[String] =
s.split("\n").toVector
You can convert the final result to a Vector
, Seq
, List
, ArrayBuffer
, Array
, etc., but I prefer Vector
. The Scala REPL demonstrates how it works:
scala> convertStringWithNewlinesToSeq("")
res0: Seq[String] = Vector("")
scala> convertStringWithNewlinesToSeq("foo")
res1: Seq[String] = Vector(foo)
scala> convertStringWithNewlinesToSeq("foo\nbar\nbaz")
res2: Seq[String] = Vector(foo, bar, baz)
scala> convertStringWithNewlinesToSeq("foo\nbar\nbaz\n\n")
res3: Seq[String] = Vector(foo, bar, baz)