错误格式
一般心态不好的校对,看到萌新这种错误简直吐血,基本让他退回重做
从结果来倒推,这时候可试试批量替换,修改效率高。
我使用的是Notepad++(Mac可以用Textwrangler),打开"显示所有字符",我们所见的是这样的,我框出了需要修改的地方:
第一步,添加00在字幕开始时间
查找
Dialogue: 0,0:00:00.00,0:00:00.00,Default,00,0,0,0,,(0\d)
替换为
00:\1
注:也就是保留括号内的内容而且在其之前加上"00:"
第二步,把所有框中的"Dialogue: 0,0:00:00.00,0:00:00.00,Default,00,0,0,0,,"的前缀删除
查找
Dialogue: 0,0:00:00.00,0:00:00.00,Default,00,0,0,0,,
替换为
(什么都不要填)
最后,把字幕缺少的换行符号\n\r加上
分析:
我们需要查找出这一内容:
CRLF
2(字幕行数) CRLF
改成:
CRLF
CRLF(或者LF)
2(字幕行数)CRLF
CRLF即换行符,CR=\r LF=\n。 有一些字幕只有\n的格式,你只需要加\n即可
开始批量替换符号
我们需要勾选"正则表达式",然后
查找
(\r\n\d+\r\n)
替换为
\n\1
神奇的一刻发生了,我们来看看结果
大功告成!!!
注:
如何批量选中字幕行数呢?
字幕行数从1~100多行不等。选中数字的正则表达式的符号是\d,这表示一位数字,选中多位数我们就再后面加个"+"
所以,选中字幕行数的表达式是"\d+"
正则另一个巧妙的地方就是用括号(),这能够在保留原来的内容的基础上添加一些内容。
比如你还可以用这个把字幕的指定行数的末尾都改加上个前缀或后缀什么的。
括号的作用举例:
查找
^(\d+) (.*)$
替换
\1abc\2
这效果是在两个括号之间加上abc
\1 表示第一个括号的内容(\d+)
\2 表示第二个括号的内容(.*)
^$是比较严谨的选择方法,一般改改字幕啥的可以不用
参考文章:
用正则表达式替换的时候,同时保留原来的内容
实用正则表达式匹配和替换
正则表达式 30 分钟入门教程
如何优雅的提取 ass 字幕文件里的文本?