斯卡拉字符串数组双引号元素

问题描述:

在斯卡拉,我怎样才能将逗号分隔的字符串转换为双引号元素的数组?斯卡拉字符串数组双引号元素

我曾尝试如下:

var string = "welcome,to,my,world" 
var array = string.split(',').mkString("\"", "\",\"", "\"") 
Output: 
[ "\"welcome\",\"to\",\"my\",\"world\""] 

我的要求是用于阵列显示为:

var array = string.split(",").mkString(""""""", """","""", """"""") 
Output:["\"ENV1\",\"ENV2\",\"ENV3\",\"ENV5\",\"Prod\""] 

mkString

["welcome","to","my","world"] 

我使用下面的方法也尝试使字符串失序。如果你需要一个数组作为结果,你只需要映射元素来添加引号。

val str = "welcome,to,my,world" 

val arr = 
    str 
    .split(',') 
    .map("\"" + _ + "\"") 

arr.foreach(println) 

输出

"welcome" 
"to" 
"my" 
"world" 
+0

随着你所建议的解决方案,我所得到的是'输出为:[ “\” 欢迎\ “”, “\” 到\ “”, “\” 我的\ “”, “\”世界\“” ]' – cayajorayu

+1

字符串数组自然地表示为'[“something”,“something”]''。你想要额外的双引号到每个元素 - 在这里他们是。 –

你的问题是有点不清楚,因为你的榜样结果不包含双引号。这会产生一个看起来像你的需求的字符串,但不知道这是你在找什么?

var string = "welcome,to,my,world" 
string.split(',').mkString("[\"","\",\"","\"]")` 

res9: String = ["welcome","to","my","world"]`