在Scala中,如何将逗号分隔的字符串转换为带双引号元素的数组?
我试过如下:
var string = "welcome,to,my,world"
var array = string.split(',').mkString("\"", "\",\"", "\"")
Output:
[ "\"welcome\",\"to\",\"my\",\"world\""]
我的要求是数组显示为:
["welcome","to","my","world"]
我也尝试使用以下方法:
var array = string.split(",").mkString(""""""", """","""", """"""")
Output:["\"ENV1\",\"ENV2\",\"ENV3\",\"ENV5\",\"Prod\""]
答案 0 :(得分:2)
mkString
使字符串不按顺序排列。如果你需要一个数组,你只需要映射元素来添加引号。
val str = "welcome,to,my,world"
val arr =
str
.split( ',' )
.map( "\"" + _ + "\"" )
arr.foreach( println )
输出
"welcome"
"to"
"my"
"world"
答案 1 :(得分:0)
您的问题有点不清楚,因为您的示例结果不包含双引号。这会产生一个看起来像你的要求的字符串,但不确定你是否正在寻找它?
var string = "welcome,to,my,world"
string.split(',').mkString("[\"","\",\"","\"]")`
res9: String = ["welcome","to","my","world"]`