拆分和融合词

时间:2018-08-10 02:26:05

标签: javascript arrays split

实际上,我有一段代码将Obj内的Words带入,并为每列单独创建一个新行(这实际上工作得很好),而这正是我想要的。但是我注意到在某些情况下,我在同一组单词中用逗号分隔。

示例: “马萨乔,桑德罗·波蒂切利,莱昂纳多·达·芬奇” 我们这里有3个字。该代码从这3个字生成新行。

但是当我有这个时会发生什么? “马萨乔,桑德罗·波蒂切利,莱昂纳多,达,芬奇” 脚本认为那里有5个字。 所以我的问题是:我应该如何创建这样的东西: “马萨乔,桑德罗·波提切利,莱昂纳多,达,芬奇” 使用此“引号”将其视为一个单词而不是3个单词。

有什么想法吗? 谢谢!

const Obj = {
    "0":"Masaccio, Sandro Botticelli, Leonardo da Vinci",
    "1":"Random, Thing, Uploaded",
    "2":"String, Second String, Third string",
    "3":"Chef, Police, Cat",
    "4":"Legen, Jerry, Jack",
};

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);

1 个答案:

答案 0 :(得分:0)

一种可能性是为match用逗号分隔的单词创建一个正则表达式(不允许使用引号'),或者匹配一个开始的'引号直到匹配的结尾{{ 1}}:

'