免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1653 | 回复: 4
打印 上一主题 下一主题

求中英文字幕合并的perl脚本 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-05-18 16:46 |只看该作者 |倒序浏览
求中英文字幕合并的perl脚本, 以中文字幕的时间轴为准。

===============英文字幕==================

00:01:24,000 --> 00:01:26,700
Good morning, sir.
My last name is Walker.


00:01:26,800 --> 00:01:28,900
Yes. Mr Walker.


00:01:30,200 --> 00:01:33,800
Room 2105, South tower,
Great View.



================中文字幕===============

00:01:24,775 --> 00:01:27,590
- 早上好 先生  - 我姓Walker


00:01:28,737 --> 00:01:29,363
好的 Walker先生


00:01:29,467 --> 00:01:34,264
南阁的2015号 视野开阔的房间


=====================================



======================希望合并成 ===========

00:01:24,775 --> 00:01:27,590
- 早上好 先生  - 我姓Walker
Good morning, sir.  My last name is Walker.


00:01:28,737 --> 00:01:29,363
好的 Walker先生
Yes. Mr Walker.


00:01:29,467 --> 00:01:34,264
南阁的2015号 视野开阔的房间
Room 2105, South tower, Great View.

论坛徽章:
0
2 [报告]
发表于 2012-05-19 18:12 |只看该作者
我觉得用hash应该比较简单的就能实现

论坛徽章:
0
3 [报告]
发表于 2012-05-19 23:02 |只看该作者
本帖最后由 kk861123 于 2012-05-19 23:03 编辑

回复 1# w123456_cu


   没看出字符串方面的对应关系,对着行来写了一个,基本可以实现
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;

  4. open(CH,"<","chinese.txt") or die($!);
  5. open(EN,"<","english.txt") or die($!);
  6. my %ch;
  7. {
  8.     local $/ = "\n\n\n";
  9.     while (<CH>) {
  10.         chomp;
  11.         print "$_\n";
  12.         $_ = <EN>;
  13.         s/^.*?\n//xms;
  14.         print;
  15.     }
  16. }
  17. close(CH);
  18. close(EN);
复制代码

论坛徽章:
0
4 [报告]
发表于 2012-05-21 09:23 |只看该作者
谢谢 kk861123 的思路

论坛徽章:
0
5 [报告]
发表于 2012-05-22 12:56 |只看该作者
本帖最后由 buypro9 于 2012-05-22 12:56 编辑

比较靠谱的是按以中文字幕的时间轴为准


常见的字幕是有的有英文没中文的。不能简单合并。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP