我有13個.srt文件。他們每個人都有標題「2x--」「 - 」是插曲字幕的數量。我有一個代碼可以記錄關於每個.srt文件的所有信息(用於foreach),但我想將每個.srt文件設置爲一個足夠的電影文件(只需將.srt文件的名稱更改爲電影名稱) 。例如:我有一個文件夾,其中是一個.srt文件和一個.mp4文件。調用.srt文件:示例 - 2x01(.srt),電影文件名爲Example.S01E01(.mp4)。所以,我想讓我的應用程序檢測數量「2x--」(2個)之後,發現一個適當的電影(在這種情況下,這將是「E」 「S01E--」後的數字),我希望你明白我的問題,我不知道我怎麼可以跟蹤它...越來越多的文件標題
-2
A
回答
1
你可能談論的正則表達式,爲你的字幕文件名確實有像"<title> - 2X<episode>.srt"
一個共同的模式,你想這樣做轉換到另一個圖案,"<title>.S01E<episode>.mp4"
下面的代碼的伎倆。該title
組包含的任何字符直到找到的- 2x
序列則獲得episode
組爲一個或多個數字。
foreach (var fullPath in Directory.GetFiles("*.srt"))
{
// "Example - 2x01.srt"
var subtitle = Path.GetFileName(fullPath);
var match = Regex.Match(subtitle, @"(?<title>.*?) - 2x(?<episode>\d+)\.");
if (match.Success)
{
// "Example.S01E01.mp4"
var movie = String.Format("{0}.S01E{1}.mp4",
match.Groups["title"].Value,
match.Groups["episode"].Value);
Console.WriteLine(movie);
}
}
+0
謝謝你的回覆,它的工作原理。但是當字幕名稱不同時我該怎麼辦?例如,其中一個是「Example - 2x01.srt」,另一個是「Example - 2x01 - Cool.HDTV.ASAP.en.srt」,我無法通過正則表達式做到這一點。 – Alexandro
相關問題
- 1. CSS:標題越來越短
- 2. 越來越多的MS Access文件大小問題
- 3. 越來越URL和標題使用jQuery
- 4. 越來越屬性作爲列標題
- 5. 。網絡越來越多內存問題
- 6. 越來越多的機會
- 7. 問題越來越格「右」
- 8. C#Event Handlers越來越多
- 9. Java數組越來越多
- 10. JSF1064獲得越來越多
- 11. 複合C1日誌文件問題 - 文件夾越來越大
- 12. Apache solr越來越多(打開的文件太多)
- 13. WebBrowser控件已越來越多狀態
- 14. 事件越來越多,反覆發射
- 15. 的Joomla index.php文件越來越錯誤
- 16. BerkeleyDB越來越胖,越來越慢
- 17. git的問題越來越先前的文件版本
- 18. 拖尾越來越多的視頻文件的最後一幀
- 19. 越來越java.lang.ClassCastException:打開類文件
- 20. SCANF越來越垃圾文件
- 21. Javascript文件越來越語法錯誤
- 22. Mongodump越來越空白文件夾
- 23. CouchDB .view文件越來越失控?
- 24. 越來越空值,而從CSV文件
- 25. Zip文件越來越損壞
- 26. SQL日誌文件越來越大
- 27. 上傳docx文件越來越損壞
- 28. 文件夾名是越來越登錄
- 29. 問題越來越XML節點文本中的StAX XMLStreamConstants.CHARACTERS事件
- 30. PDF合併越來越多的文件大小
這很明顯,但堆棧溢出不是廣泛的模糊問題要求*的想法*的地方。另請參閱[help] –
如果我想成爲一名想要準備粘貼代碼的leecher,那麼這會更好嗎? – Alexandro
當然不是,但它不會使*這個問題更多的話題。嘗試一些東西,甚至正則表達式(例如),如果你不能使它工作,然後回來的代碼和失敗的嘗試... –