2017-04-12 4 views
4

ファイル名が0154562A5BS16101[001]で、0154562A5BS16101のままにして "[001]"を削除したいと思います。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

関連する問題