如何通过在scala中派生另一个列表来创建列表

时间:2017-09-12 10:26:08

标签: scala

我的列表如下

function exclude_taxonomy( $should_index_category, WP_Post $post )
{
// Add all post types you don't want to make searchable.
$excluded_event_categories = array(
'post_type' => 'events',
'tax_query' => array(
    array(
        'taxonomy' => 'events_category',
        'field'    => 'slug',
        'terms'    => 'xclude',
    )
),

);
if ( false === $should_index_category ) {
    return false;
}

return ! in_array( $post->taxonomy, $excluded_event_categories, true );
}

 // Hook into Algolia to manipulate the post that should be indexed.
 add_filter( 'algolia_should_index_searchable_post', 'exclude_taxonomy', 10, 2 );

我想通过以下引用来创建另一个

'tax_query' => array(
    array(
        'taxonomy' => 'events_status',
        'field'    => 'slug',
        'terms'    => 'archive',
    )
),

这里我将Gateway和Sequence的最后两位数合并到另一个列表中。任何人都可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

假设您的列表缺少引号:

  val input: List[String] = List("Gateway = MSC050", "Sequence = 176484", "Gateway = MSC050", "Sequence = 176485")

  input.grouped(2).map {
    l => l(0).takeRight(2) + l(1).split(' ').last
  }.toList

输出:

List(50176484, 50176485)

grouped(2)将允许您遍历每个网关/序列对。然后,您需要从网关获取最后两位数字,以及序列中的数字。我已使用takeRight为网关完成此操作,并拆分序列的空格(假设您的序列字符串在等于之后总是有空格)。

答案 1 :(得分:0)

val original: List[String] = List("MSC050", "176484", "MSC051", "176485")

val modified = original.grouped(2).map(el => el(0).takeRight(2) + el(1)).toList