Scala将每个数组元素转换为字符串和拆分

时间:2015-05-29 14:42:56

标签: arrays scala

我已经加载了一个数组,并且一直在REPL中玩,但似乎无法使其工作。

我的数组看起来像这样:

var counter = 10; // depends on desired count, 
for (var i = 0; i < counter; i++) {
    if ( !$( '#li_ID' ).length ) // check if li already exist
         $('ul').append('<li></li>')
}

当我运行我的命令时:

record_id|string|FALSE|1|
offer_id|decimal|FALSE|1|1,1
decision_id|decimal|FALSE|1|1,1
offer_type_cd|integer|FALSE|1|1,1
promo_id|decimal|FALSE|1|1,1
pymt_method_type_cd|decimal|FALSE|1|1,1
cs_result_id|decimal|FALSE|1|1,1
cs_result_usage_type_cd|decimal|FALSE|1|1,1
rate_index_type_cd|decimal|FALSE|1|1,1
sub_product_id|decimal|FALSE|1|1,1
campaign_id|decimal|FALSE|1|1,1

它不会掉落任何东西。它也没有在for(i <- 0 until schema.length){ val convert = schema(i).toString; convert.split('|').drop(2); println(convert); }

上拆分

2 个答案:

答案 0 :(得分:3)

字符串是不可变的,因此splitdrop不会改变字符串 - 它们会返回一个新字符串。

您需要在新的val

中捕获结果
val split = convert.split('|').drop(2); 
println(split.mkString(" "));

答案 1 :(得分:0)

考虑定义一个lambda函数来映射数组中的每个项目,其中中间结果与函数一起传递,

val res = schema.map(s => s.toString.split('|').drop(2))