微軟虛擬學院(MVA)上有一些不錯的視頻教程,但是,蛋疼的一點那就是視頻要不就慢,要不就卡,總之當你的思維跟着視頻深入的時候,duang~,卡一下,說不定就要重頭開始,所幸的是提供了視頻下載,下載速度還不錯。
30分鍾后,下好了,打開一看,又蛋疼了,沒有字幕呀,人家也沒提供字幕下載,並且在MVA論壇上,大家都對下載的視頻沒有字幕提出了意見,可人家不愛理怎么破,好吧,想辦法。
字母也是一種資源,那么打開控制台看一下吧,居然還真有
拷貝下來,存為srt格式,直接丟到QQ影音上,字幕加載失敗,原來文件開頭多了這么一句“WEBVTT”,刪除之,繼續丟到QQ影音上,加載成功了,但是沒有顯示出來,這是怎么回事?繼續百度Srt格式,好吧,時間線前面少了序號,應該加入1,2,3,4.。。,可是這么多行不可能手動加呀,自然就想到了用程序,只要在時間的每行前面加一個序號就可以了,思路是這樣的
觀察時間,發現我們要插入的位置可以用正則表達式來選擇,然后替換的時候,前面加一行序號就ok了,下面直接上代碼了
class Program { static void Main(string[] args) { using (StreamReader fs = new StreamReader("zimu.srt",Encoding.Default)) { string data = fs.ReadToEnd(); Regex regex=new Regex("\r\n[0-9][0-9]:[0-9][0-9]:[0-9][0-9].[0-9][0-9][0-9]"); var matches = regex.Matches(data); int i = 1; foreach (Match match in matches) { var oldValue = match.Groups["0"].Value; var newValue = "\r\n" + i + oldValue; i++; data = data.Replace(oldValue, newValue); } Console.WriteLine(data); using (FileStream fs2 = new FileStream("newzimu.srt", FileMode.OpenOrCreate)) { byte[] bytes = Encoding.Default.GetBytes(data); fs2.Write(bytes,0,bytes.Length); } } } }
將轉換出來的文件丟到QQ影音上,哦了,搞定
希望大家多多傳播,讓更多的人知道這個方法,系統全面的學習知識。