2012-11-23 15 views
180

Wie "verbinde ich" ein iterable von Strings durch einen anderen String in Scala?Scala: Join iterable von Strings

val thestrings = Array("a","b","c") 
val joined = ??? 
println(joined) 

Ich möchte diesen Code zur Ausgabe a,b,c (zusammen die Elemente durch "").

+5

Wenn es eine bessere Möglichkeit gibt, diese Frage zu stellen, würde ich mich freuen zu wissen. Ich denke, es ist prägnant und klar, und es gibt keine Duplikate, soweit ich das beurteilen kann –

+0

schien mir ziemlich klar –

+0

@BrianAgnew Zuerst die Downvotes zu sehen, machte ich mir Sorgen ... –

Antwort

298

Wie wäre es mit mkString?

theStrings.mkString(",") 

Eine Variante existiert, in der Sie auch ein Präfix und Suffix angeben können.

Siehe here für eine Implementierung mit foldLeft, die viel ausführlicher ist, aber vielleicht lohnt sich um Bildung zu sehen.

+1

Das war's! Vielen Dank! –

+0

Beachten Sie, dass die foldLeft-Implementierung eine nicht leere Liste annimmt – Frawr

+1

Danke! Falls jemand String-Elemente in Anführungszeichen setzen will, ist mkString ebenfalls hilfreich: theStrings.mkString ("'", "', '", "'") –

Verwandte Themen