javascript - 如何将此字符串拆分为块
问题描述
我有一个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。
解决方案
你是这个意思吗?可能有更好的方法,但这应该有效。
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]);
推荐阅读
- git - golang 中的版本控制第三方包
- ios - 在 ViewController 上居中子视图
- cross-domain - 在多个域上运行的多语言 Jekyll 网站
- html - Web.config 重定向
- html - Flexbox 上的菱形网格
- python - 使用 Pandas 与 MySQL 读取巨大的 CSV 文件
- javascript - 带有反应比较示例的 jquery
- regex - nginx 位置正则表达式设置仅在指定的 url 上返回 404
- javascript - 如何在 JS 中过滤多个字符串?
- c# - LiveChart 不显示 x 轴 WPF 上的所有标签