正则表达式或基于数字拆分

时间:2017-02-01 14:54:00

标签: javascript regex string split srt

我无法将vtt文件拆分为一个字符串。

我有这个字符串:" 3 00:00:09.023 - > 00:00:11.953只有看着她的双腿分开,4 00:00:11.953 - > 00:00:13.593你可以说她是一个麻烦制造者。"

我想这样做

3

00:00:09.023 - > 00:00:11.953

只有看着她坐在她的腿上 广泛传播,

4

00:00:11.953 - > 00:00:13.593

你可以说她是一个麻烦制造者。

将每个数字(3,4 ......等)作为新行。我要分成几千个数字

欣赏任何1可以帮助! 谢谢!

2 个答案:

答案 0 :(得分:0)

如果您的字符串结构已修复,您可以使用:

var yourString = "3 00:00:09.023 --> 00:00:11.953 Only by looking at her sitting with her legs spread widely, 4 00:00:11.953 --> 00:00:13.593 you can tell she's a troublemaker.";
var newString = yourString.replace(/\d+\s\d{2}/g,'\n$&');

如果此代码未涵盖所有情况,则应提供更多详细信息。

答案 1 :(得分:0)

您可以使用正向前瞻来匹配第一次(00:00:09.023)后面的数字和空格字符,并用换行符(\n)和匹配的数字替换它。 / p>

var subtitleLines = str.replace(/(\d+\s(?=\d{2}:\d{2}:\d{2}))/)/g, "\n$1")

为了更安全,如果某些字符串碰巧包含现在匹配的子字符串,您可以包含更多的时间部分,例如

/(\d+\s(?=\d{2}:\d{2}:\d{2}\.\d{3}\s-->))/