我有这段代码,该代码应删除某个_
var fileNameOnly1 = Regex.Replace(fileNameOnly, @"[_\d]", string.Empty);
即
输入
4a_32
abcdef43252_43242
当前输出
4a2
abcdef432523242
预期产量
4a
abcdef43252
我也尝试使用@"[_\d]"
有什么办法可以删除_
之后的数字并删除'_'吗?
答案 0 :(得分:2)
您没有特别提到需要使用正则表达式,并且在大多数情况下,我建议您不要使用正则表达式,因为正则表达式相当慢(与其他方法相比)且麻烦(难以读写)。
我认为最好使用字符串操作来做到这一点。
var fileNameOnly1 = fileNameOnly.Split('_')[0];
上面的代码将找到第一个'_'并接受其前面的所有字符(作为字符串返回)。
答案 1 :(得分:0)
尝试一下
模式
_\d+
示例
var fileNameOnly = "asdads_234asd";
var result = Regex.Replace(fileNameOnly, @"_\d+", string.Empty);
Console.WriteLine(result);
输出
asdadsasd
答案 2 :(得分:0)
只需使用此正则表达式:
_\d+
Regex.Replace(fileNameOnly, @"_\d+", string.Empty);