首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >分开但尊重逗号

分开但尊重逗号
EN

Stack Overflow用户
提问于 2018-08-22 15:11:21
回答 1查看 55关注 0票数 2

我的密码有点麻烦。我有一个需要分隔和解析的单词列表,而不是列中的行。

这段代码实际上运行得很好,并完成了这项工作。究竟是如何运作的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const Obj = {
    "0":"Mario, Louigi, Peach",
    "1":"Wario, King Kong, Bomberman",
    "2":"Dracula, Doctor Z, Raikou"
};

const Obj3 = [];

var count = Obj[0].split(", ").length;
var countOuter = Object.keys(Obj).length;

for( var i = 0; i < count; i++){
  
  var string = [];
  
  for( var j = 0; j < countOuter; j++){
    string.push(Obj[j].split(", ")[i]);
  }
  
  Obj3[i] = string;
}

console.log(Obj3);

但是,如果在中间的例子中有一个逗号: Mr,机器人,它认为逗号是分隔逗号,并将机器人先生分成两部分,而不是一个。

示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    const Obj = {
        "0":"Mr, Robot, Louigi, Peach",
        "1":"Wario, King Kong, Bomberman",
        "2":"Dracula, Doctor Z, Raikou"
    };

    const Obj3 = [];

    var count = Obj[0].split(", ").length;
    var countOuter = Object.keys(Obj).length;

    for( var i = 0; i < count; i++){
      
      var string = [];
      
      for( var j = 0; j < countOuter; j++){
        string.push(Obj[j].split(", ")[i]);
      }
      
      Obj3[i] = string;
    }

    console.log(Obj3);

然后,它创建了一个未定义的记录,导致了我的错误。知道怎么解决这个问题吗?提前谢谢!!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-22 16:02:46

如果在名称由逗号连接之前无法获得它们,则可以使用regex分隔符来分隔它们。例如,如果不使用逗号分隔两个非空格字符就足够了,则可以使用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.split(/(?<=[^ ,]{3,}), /)

只有在', '前面有至少3个不匹配' '','的字符时,此正则表达式才能匹配它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51976357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文