使用可配置逻辑将字符串数组映射到另一个字符串数组

海姆斯

如果我有一个字符串数组,我想创建一个将数组作为输入的“通用”转换器,以及一个“映射配置”,并根据映射配置生成另一个字符串数组,我该怎么做这样做?

例如,

输入:["hello", "world", "to", "all", "junk"]
映射器配置:

  • 连接 hello + world(即组合位置 0 和 1)
  • 连接到 + 所有(即组合位置 2 和 3)
  • 丢弃垃圾(即删除位置 4)

输出:["hello world", "to all"]

麦克风

你可以试试这样的方法:

string[] Transform(string[] inputs, Transformation[] transformations)

每个转换都可以有一个源、一个操作和一个目标。对于您的示例,转换数据可能如下所示:

[
 {
  Source: 0,
  Operation: “SetDestination”,
  Destination: 0
 },
 {
  Source: 1,
  Operation: “ConcatenateDestinationSpaceSource”,
  Destination: 0
 },
 {
  Source: 2,
  Operation: “SetDestination”,
  Destination: 1
 },
 {
  Source: 3,
  Operation: “ConcatenateDestinationSpaceSource”,
  Destination: 1
 }
]

该方法的伪代码如下所示:

foreach(transformation in transformations)
{
    switch(transformation.Operation)
    {
        case SetDestination:
            output[transformation.Destination] = input[transformation.Source];
            break;
        case ConcatenateDestinationSpaceSource:
            output[transformation.Destination] = output[transformation.Destination] + “ “ + input[transformation.Source];
            break;
    }
}

“垃圾”不需要任何操作,因为它永远不会被放置在输出中。

根据任何其他操作和您选择的数据结构,输出可能需要随时调整大小。这也假设映射配置应按给定顺序应用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将一个字符串数组存储到另一个字符串数组中?

排序一个字符串数组,使用另一个字符串数组确定顺序

将字符串存储在另一个字符串的指针数组中

将数组的字符串值更改为另一个字符串值

使用Lo在另一个字符串中使用AND搜索字符串数组

如何在流中将一个字符串映射到另一个字符串?

使用数组和foreach循环从另一个字符串中获取一个字符串

是否可以使用R中类似字典的对象将一个字符串映射到另一个字符串?

使用一个字符串数组来拼接另一个数组?

比较字符串数组和另一个字符串数组的优雅方法

从一个字符串数组到另一个字符串数组的strcpy

如何使用指针而不使用字符串库将字符数组复制到'c'中的另一个字符数组

如何使用另一个字符串数组过滤模型对象数组列表

比较一个字符串与数组中的另一个字符串

根据参数将字符串数组转换为另一个字符串数组

java将字符串数组放入另一个字符串数组构造函数中

将包含负号字符的数组中的所有字符串替换为另一个字符串

检查数组中的哪个(如果有)字符串是另一个字符串数组的超字符串

根据另一个字符串/数组,从1个字符串/数组中删除值

使用动态中的指针将一个字符串复制到另一个字符串

使用 PHP 将一个字符串与另一个字符串匹配

使用C ++将一个字符串替换为另一个字符串

如何比较两个字符串数组并将匹配值存储在另一个字符串数组中?

将字符串数组的单个元素初始化为Go lang中的另一个字符串变量

c#中的字符串数组。从一个字符串数组中删除在另一个字符串数组中的元素

从列表中过滤掉作为数组中另一个字符串的子字符串的所有字符串

将一个字符串插入另一个

如何将一个字符数组映射到另一个字符数组?

根据另一个字符串数组对对象数组进行排序