首页 > 解决方案 > 如何将此字符串拆分为块

问题描述

我有一个string看起来像这样的(字幕文件):

"1\n00:00:27,560 --> 00:00:29,990\nHandelingen 19:5\n\"En toen zij dit hoorden",

我希望它变成array这样(长度为 3):

var array = [
    "1",
    "00:00:27,560 --> 00:00:29,990",
    "Handelingen 19:5 \"En toen zij dit hoorden"
]

这是我尝试过的,但我没有比这更进一步。

// I putted \n in to act as the linebreaks.
var string = "1\n00:00:27,560 --> 00:00:29,990\nHandelingen 19:5\n\"En toen zij dit hoorden,";

// I did not get any further than this :/
var chunks = string.split('\n');

console.log(chunks);

如何拆分前两行并让前两行之后的行相互连接最快/最有效的方法是什么?段落的数量可以增长到 2500。

标签: javascript

解决方案


你是这个意思吗?可能有更好的方法,但这应该有效。

   var string = "1\n00:00:27,560 --> 00:00:29,990\nHandelingen 19:5\n\"En toenzij dit hoorden,";

    var chunks = string.split('\n', 2);
    chunks[2] = string.substr(chunks[0].length+chunks[1].length+2,string.length);
//.replace(/\n/, ""); optional

    console.log(chunks[0]);
    console.log(chunks[1]);
    console.log(chunks[2]);


推荐阅读