Строковая интерполяция для массива с использованием карты в Scala - PullRequest
0 голосов
/ 25 июня 2019

у меня есть массив = ("1","2","3")

и у меня также есть строка, которую я хочу отформатировать: "item = {} found"

Я хочу получить массив: ("item = 1 found", "item = 2 found", "item = 3 found")

Ответы [ 3 ]

3 голосов
/ 25 июня 2019
val array = Array("1", "2", "3")
array.map(i => s"item = $i found")
1 голос
/ 25 июня 2019

Просто используйте map:

val array = Array("1", "2", "3")
array.map("item = " + _)  // Array("item = 1", "item = 2", "item = 3")
0 голосов
/ 26 июня 2019

Возможно, вы ищете более обобщенное решение.

def formatter(ss :Array[String], format :String) :Array[String] = {
  val braces = "\\{}".r
  ss.map(braces.replaceFirstIn(format, _))
}

formatter(Array("1", "2", "3"), "item = {} found")
//res0: Array[String] = Array(item = 1 found, item = 2 found, item = 3 found)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...