斯卡拉字符串数组双引号元素
问题描述:
在斯卡拉,我怎样才能将逗号分隔的字符串转换为双引号元素的数组?斯卡拉字符串数组双引号元素
我曾尝试如下:
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"
答
你的问题是有点不清楚,因为你的榜样结果不包含双引号。这会产生一个看起来像你的需求的字符串,但不知道这是你在找什么?
var string = "welcome,to,my,world"
string.split(',').mkString("[\"","\",\"","\"]")`
res9: String = ["welcome","to","my","world"]`
随着你所建议的解决方案,我所得到的是'输出为:[ “\” 欢迎\ “”, “\” 到\ “”, “\” 我的\ “”, “\”世界\“” ]' – cayajorayu
字符串数组自然地表示为'[“something”,“something”]''。你想要额外的双引号到每个元素 - 在这里他们是。 –