返回列表 发帖

如何用正则表达式或其它方法查找和替换这样一个0?

有一字幕文件,打字的人不知道是存心的还是怎么的,他/她把单词中所有的大写字母O全部替换成数字0。我曾经想用正则表达式把它替换回来,但不是很理想,大家看看有什么好办法。

可以这样描述这个0的位置:
可以是一个单词的开头,前面没有任何字符,或者前面必须是字母;有一个或多个(其实最多两个)连续的0;后跟必须是字母,或没有字符,也就是单词的结尾。
附件: 您需要登录才可以下载或查看附件。没有帐号?加入 我们
请关注本人尚未解决的问题:
http://bbs.theworld.cn/viewthread.php?tid=173867&page=1#pid1401953

你的描述很模糊,我无法理解,请你再细细分清楚情况,并请分好段。

TOP

比如,原本以字母O开头的单词,他/她写成:
0F
0K
0N
0NCE
0VERLAPPING
0rpheus

中间有字母O的单词写成了:
T0M
TRANSMISSI0N
F0R
FR0M
V0ICES
W0MEN
P0P
EXPL0SI0N (不连续的两个0)
C0NTINU0US (不连续的两个0)
WH00SHING (连续的两个0)

以字母O结尾的单词:
FiD0
INT0

但是有些词中含有的0是正常的,不能被替换掉,比如:
60s
80s
100th

原片在这里,对科学有兴趣的朋友可以下载看看
http://www.verycd.com/topics/72385/

[ 本帖最后由 DOSforever 于 2008-9-12 19:34 编辑 ]
请关注本人尚未解决的问题:
http://bbs.theworld.cn/viewthread.php?tid=173867&page=1#pid1401953

TOP

其实用合适字体的话,o和0差不多,不影响观看,内嵌的话还是这样快

TOP

这个是他OCR字幕的时候出错的,你可以自己重新OCR一次,

PS:如果用正则慢慢去匹配的话很麻烦的。。

TOP

把文件转换成TXT格式,然后把0替换成O

TOP

回复 4# shingo 的帖子

呵呵,其实我研究这个问题并不是为了正真的看片子,而是出于为了研究一下字符处理,特别是用正则表达式处理的方法。
请关注本人尚未解决的问题:
http://bbs.theworld.cn/viewthread.php?tid=173867&page=1#pid1401953

TOP

回复 5# sky5 的帖子

问题是你哪来原稿来 OCR 呢?即便有,你还要编辑成字幕文件,有这力气那我还不如手工修改原文件了。
请关注本人尚未解决的问题:
http://bbs.theworld.cn/viewthread.php?tid=173867&page=1#pid1401953

TOP

回复 6# yjwgi 的帖子

.srt 字幕文件本来就是纯文本文件,问题是没那么“只要把0替换成O”那么简单,你下载过文件看一下就知道了。
请关注本人尚未解决的问题:
http://bbs.theworld.cn/viewthread.php?tid=173867&page=1#pid1401953

TOP

返回列表