如何使用正则表达式和Javascript将SRT转换为文本

寻找一种使用正则表达式和JavaScript将SRT(电影、系列和动漫字幕)文件和文本转换为文本的方法?本文将帮助您了解这一方法以及其他替代方案。

如何使用正则表达式和JavaScript将SRT转换为文本

将SRT(SubRip Text)格式的字幕文件转换为文本,您可以在JavaScript中使用以下函数进行正则表达式处理:

function convertSrtToText(srt) {
  // Use a expressão regular para remover os números de linha e as marcas de tempo
  return srt.replace(/^\d+\n([\d:,]+ --> [\d:,]+\n)/gm, '');
}

这个函数使用正则表达式来从SRT文件中删除行号和时间戳。它会返回SRT文件中剩下的文本,不包括行号和时间戳。

使用这个函数,只需调用它并将SRT文件的内容作为参数传递,就像下面的示例一样:

var srt = "1\n00:00:10,500 --> 00:00:13,000\nTexto da linha 1\n\n2\n00:00:13,500 --> 00:00:16,000\nTexto da linha 2\n\n3\n00:00:16,500 --> 00:00:19,000\nTexto da linha 3\n";
var text = convertSrtToText(srt);
console.log(text); // Exibe "Texto da linha 1\n\nTexto da linha 2\n\nTexto da linha 3\n"

使用JS模块转换SRT

有其他方法可以使用JavaScript将SRT文件转换为文本。以下是一些你可以考虑的选项:

srt-to-vtt 模块

  • 使用 srt-to-vtt 模块:srt-to-vtt 模块是一个 npm 包,可用于将 SRT 文件转换为文本。要使用它,您需要使用以下命令进行安装:
  • npm install srt-to-vtt
  • 接下来,使用以下代码:
const srtToVtt = require('srt-to-vtt');

srtToVtt.convertSrtToVtt('path/to/input.srt', 'path/to/output.vtt', (err) => {
  if (err) {
    console.error(err);
  } else {
    console.log('Conversão concluída com sucesso');
  }
});

Srt-to-txt模块

使用srt-to-txt模块:srt-to-txt模块是另一个npm包,可用于将SRT文件转换为文本。要使用它,您需要使用以下命令进行安装:

  • npm安装srt-to-txt
const srtToTxt = require('srt-to-txt');

srtToTxt('path/to/input.srt').then((text) => {
  console.log(text);
});

SubRip-Text 图书馆

使用SubRip-Text库:SubRip-Text库是一个JavaScript库,可用于阅读和处理SRT文件。要使用它,您需要使用以下命令安装它:

  • npm install subrip-text
const SubRipText = require('subrip-text');

const srt = new SubRipText('path/to/input.srt');

console.log(srt.getPlainText());

将SRT转换为TXT的其他方法

有其他将SRT文件转换为文本(TXT)的方法。您可以考虑的一些选项包括:

  1. 使用在线转换器。 有许多在线转换工具可以将SRT文件转换为文本。只需上传SRT文件,转换工具会为您完成转换。
  2. 使用文本编辑器。 许多文本编辑器,如Notepad++或Sublime Text,都有选项可以删除SRT文件中的行号和时间标记。您可以使用这些选项删除这些元素,并将文件另存为普通文本文件。
  3. 使用命令行脚本: 如果您需要大量处理SRT文件并且需要自动转换,可能会发现使用本文中所述的命令行脚本很有帮助。