如何删除字符串" [xyz]"从文件名与正则表达式?

时间:2017-04-12 02:36:25

标签: c# .net regex

我有文件名0154562A5BS16101[001],我想在其中删除" [001]"离开0154562A5BS16101

我尝试过使用正则表达式:

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

但它抛出:

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

我觉得这对于Regex大师来说非常容易,但我对Regex没有多少经验。

1 个答案:

答案 0 :(得分:4)

由于[]是正则表达式语言中的元字符,因此您需要转义它们。您还需要告诉正则表达式,您希望将所有内容匹配到结束方括号:

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

\[\]是您要替换的方括号。中间的[^\]]*部分匹配结束方括号以外的任意数量的字符。

Demo.