当前位置: 首页 > 面试题库 >

分割由“ =”符号分隔的管道定界键值对

井轶
2023-03-14
问题内容

我们正在接收一个输入参数值,它是一个由竖线分隔的键值对,并用=符号分隔。例如:

"|User=0101|Name=ImNewUser|IsAdmin=0|RefId=23ae2123cd223bf235|"

因此格式为: |KEY=VALUE|KEY_2=VALUE_2|....|KEY_n=VALUE_n|

我需要将其拆分为JSON对象。所以,我的对象应该是:

{
 'User':'0101',
 'Name':'ImNewUser',
 'IsAdmin':'0',
 'RefId'='23ae2123cd223bf235'
}

什么是最好的方法,因为有多种选择:

  • 我可以使用split with,|并再次对每个元素使用split =
  • 我可以依靠正则表达式并进行字符串替换。
  • 使用=删除尾随|符号对其进行拆分,然后将两个不同的数组与索引相关联。

谁能告诉我用JavaScript(在Node.js中编程)执行此操作的最佳/最有效方法?


问题答案:

第一个听起来不错:

var str = "|User=0101|Name=ImNewUser|IsAdmin=0|RefId=23ae2123cd223bf235|";


var result = {};
str.split('|').forEach(function(x){
    var arr = x.split('=');
    arr[1] && (result[arr[0]] = arr[1]);
});


 类似资料:
  • 问题内容: 我想用定界符空格分割字符串。但它应该智能地处理带引号的字符串。例如,像这样的字符串 它应该返回三个字符串John Smith,Ted和Barry。 问题答案: 弄乱它之后,您可以使用Regex来实现。在以下位置运行“全部匹配”的等效项: 一个Java示例: 输出: 上面使用示例的正则表达式分解可以在这里查看: http://regex101.com/r/wM6yT9 综上所述,正则表达

  • 问题内容: 我有以下字符串: 我“肯定”想“上学”。 现在,我想在省略号处分割此字符串,即我想获得以下输出: 我会 一定 喜欢 上学 。 问题答案: 如果您是用引号()代替省略号,最简单的解决方案是使用 :

  • 问题内容: 我有一个长度未知的字符串,看起来像这样 将这些字符串用逗号分隔的最佳方法是什么,以便每个单词都可以成为的元素? 例如 问题答案: 你可以这样做: 基本上,该方法将根据你正在传递的(在这种情况下)定界符来分割字符串,并将返回字符串数组。 但是,你似乎位于字符串列表而不是数组之后,因此必须使用该实用程序将数组转换为列表。就像供你参考一样,你也可以这样做: 但是通常最好是对接口进行编程,而不

  • 问题内容: 我有一个包含各种字符串值的列表。我想一看就拆分列表。结果将是一个列表列表(这将是原始列表的子列表),其中仅包含I的一个实例,我可以使用循环执行此操作,但是有没有 更Python的 方法可以实现此目的? 例子= 结果= 这是我尝试过的方法,但实际上并没有达到我想要的效果,因为它将放入应包含的其他列表中: 问题答案: 我会使用发电机: 此打印 该代码接受任何可迭代的代码,并生成一个可迭代的

  • 问题内容: Java官方文档指出: 它打印: 这与我的预期相去甚远: 为什么会这样呢? 问题答案: 你需要 使用正则表达式,并且在中 |是表示OR运算符的元字符。你需要使用来转义该字符\(使用String编写,因为它也是String文字中的元字符,并且需要另一个字符来对其进行转义)。 你也可以使用 并创建代表的正则表达式的转义版本|。

  • 我有一个输入字符串,其中包含由分隔符(| |)分隔的4个ID。我使用的代码如下: 但有些情况下并非所有ID都存在,如: 在上面的场景中,拆分不会分为4个部分,并且无法判断拆分数组中缺少哪个id。 有人可以帮助一个有效的解决方案。