繁体   English   中英

如何使用Regex从文件名中删除字符串“[xyz]”?

[英]How to remove string “[xyz]” from filename with Regex?

我有文件名0154562A5BS16101[001] ,其中我想删除“[001]”,只留下0154562A5BS16101

我试过使用正则表达式:

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

但它抛出:

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

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

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

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

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

演示。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM