There is a span
method:
scala> val (beforeDot, afterDot) = s.span{ _ != '.' }
beforeDot: String = abba
afterDot: String = .aadd
From the Scala documentation:
c span p
is equivalent to (but possibly more efficient than)(c takeWhile p, c dropWhile p)
, provided the evaluation of the predicate p does not cause any side-effects.