как добавить char в начало и конец каждого элемента в scala seq? - PullRequest
0 голосов
/ 05 мая 2020

Я пытаюсь манипулировать строкой в ​​последовательности

У меня есть последовательность элементов, например: Seq («aaa», «bbb», «ccc»), и ее нужно преобразовать в String с добавлением некоторых символы для начала и конца каждого элемента

результат должен быть строкой -> «aaa», «bbb», «ccc»

scala> val initial = Seq("aaa","bbb","ccc")

initial: Seq[String] = List(aaa, bbb, ccc)

scala> initial.foldLeft(Seq [String] ()){(z,x)=>z:+("\""+x+"\""+",")}

res2: Seq[String] = List("aaa",, "bbb",, "ccc",)

Есть предложения?

Ответы [ 3 ]

3 голосов
/ 06 мая 2020

Этого также можно достичь, используя только mkString(start, sep, end)

https://www.scala-lang.org/api/2.12.3/scala/collection/immutable/List.html#mkString (начало: String, sep: String, end: String): String

List("aaa", "bbb", "ccc").mkString("\"", "\",\"", "\"")
1 голос
/ 05 мая 2020

Вам не нужен foldLeft для преобразования элементов.

Попробуйте это

initial.map(x=> s""""${x}"""").mkString(",")

1 голос
/ 05 мая 2020

Вероятно, вы просто хотите это сделать:

def appndAndPrependTo[A](data: Seq[A])(s: String): Seq[String] =
  data.map(a => s"${s}${a}${s}")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...