錯誤格式
一般心態不好的校對,看到萌新這種錯誤簡直吐血,基本讓他退回重做
從結果來倒推,這時候可試試批量替換,修改效率高。
我使用的是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 字幕文件里的文本?