2017-04-12 110 views
4

我的文件名爲0154562A5BS16101[001],我想刪除「[001]」以便離開0154562A5BS16101如何用Regex從文件名中刪除字符串「[xyz]」?

我一直在使用正則表達式的嘗試:

var output = Regex.Replace(filename, @"[]", string.Empty); 

但它拋出:

System.ArgumentException: 'parsing '[]' - Unterminated [] set.' 

我覺得這是一個非常簡單的正則表達式爲大師,但我沒有用太多的經驗正則表達式。

回答

4

由於[]元字符在正則表達式語言中,您需要轉義它們。你還需要告訴你想要的一切匹配的右方括號正則表達式:

var output = Regex.Replace(filename, @"\[[^\]]*\]", string.Empty); 

\[\]在兩端是要替換方括號。中間的[^\]]*部分與除關閉方括號之外的任何數量的字符匹配。

Demo.

+0

這是一個絕對的步伐。謝謝!我必須閱讀更多的正則表達式。 – tura08