看课程录像时,发现字幕需要重新看一下,然后打开字幕文件,发现很有规律,所以写了个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;
}