注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
火雨木头的个人空间 https://home.eeworld.com.cn/space-uid-313407.html [收藏] [复制] [分享] [RSS]
日志

srt后缀文件转txt后缀

已有 3486 次阅读2011-10-16 21:33 |个人分类:Perl|

看课程录像时,发现字幕需要重新看一下,然后打开字幕文件,发现很有规律,所以写了个perl程序将srt后缀的文件转为txt文件后缀。
使用说明;
1. 电脑安装有perl。
2. 将该程序放进srt2txt.pl。
3. 然后将srt2txt.pl拷入到你要转换的srt文件下,双击即可完成转换。

程序如下:
use warnings;

my @file_name;
my $line = "";
my $line_width = 80;
opendir (DIR,'./');
while(my $file =readdir(DIR)){
if($file =~ /.*\.srt$/){
#print "$file\n";
push (@file_list,$file); 
}
}
while (my $srt_name = pop(@file_list)){
#print "$nowfile\n";
$txt_name = $srt_name;
$txt_name =~ s/.srt$/.txt/;
#print "$txt_name\n";

open TXT, "> $txt_name";
open SRT, "< $srt_name";
my $out = "";
while (<SRT>){
if (($_ =~ /[a-z]+/) and not ($_ =~ /-->/)){
chomp($_);
$line = $line." ".$_;
}
if (length($line) >= 2 * $line_width){
my $out_width;
for(my $i = $line_width; $i <= length($line)-1; $i++){
$out_width = $i;
if(substr($line, $i, 1) eq " "){
$i = length($line);
}
}
$out = substr($line, 0, $out_width);
print {TXT}"$out\n";
#print $out_width."\n";
$line = substr($line , ($out_width + 1),(length ($line) - $out_width));
}
}
print {TXT}"$out\n";
close SRT;
close TXT;
}

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章