微软虚拟学院(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(" [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 = " " + 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影音上,哦了,搞定
希望大家多多传播,让更多的人知道这个方法,系统全面的学习知识。