我有一個文件名列表,這將是這個樣子:排序/成組列表中的項目
SAN003A-S6cp-201607221655.SSHOW_SYS.tgz
SAN003A-S7cp-201607221655.SSHOW_SYS.tgz
BrocadeRK4-S4cp-201604140110.SSHOW_SYS.tgz
BrocadeRK4-S5cp-201604140110.SSHOW_SYS.tgz
的共同點將成爲「SNCP」的格局,其中N是一個數字。之前和之後的情況可能有所不同。它是來自網絡交換機的機器生成輸出。我可以在列表中有1,2個或更多。我可以處理1或2,或者它們來自同一個開關。來自同一臺交換機的文件將匹配'SNcp'之前和之後的文件。如果超過2個,則意味着來自多個交換機的日誌會混合在同一個文件夾中。上面的例子中有2個開關。我需要能夠根據「SNCP」模式之前的內容進行排序/和/或分組。我想我需要一個正則表達式來完成它,但是當我通過正則表達式搜索分組列表時,我得到了如何執行命名組。所以我不確定GroupBy的謂詞應該是什麼。 'SNCP'模式的開始位置也會有所不同,所以我不確定我會如何做一個子串。
多少組,你想獲得以上物品?我的意思是,'N'在所有四個不同,所以你在上面的例子中尋找四個組? – dasblinkenlight
而不是正則表達式,你可能想用'string.IndexOf'獲得第一個短劃線的索引,然後用它來獲得想要分組的所需子串。 – juharr
@dasblinkenlight - 對於上述,我想要兩個組,一個以'SAN003A'開頭的文件名,一個以'BrocadeRK4'開頭的文件名' –