我正在分析带有时间戳的 YouTube 评论。因为有些注释可能会引用 mm:ss、m:ss、hh:mm:ss 或 h:mm:ss 中的句点,所以我需要为这些情况做好准备。以下代码适用于 mm:ss 和 m:ss,但仍将带有小时数的代码视为 mm:ss。例如,02:24:30 返回 144,因为它只分析前两个部分。这是代码:
var timePattern = /(([0-5][0-9])|[0-9])\:[0-9]{2,2}/;
var seconds = "";
for (var i = 0; i < comments.length; i++) {
var matches = comments[i].match(timePattern);
var matched = matches[0];
var a = matched.split(':');
if(matched.length == 7 || matched.length == 8) {
seconds = (+a[0])*60*60 + (+a[1])*60 + a[2];
} else {
seconds = (+a[0])*60 + (+a[1]);
}
times.push(seconds);
}