C# 删除下划线后的所有数字
我有一个代码,它应该会删除某个C# 删除下划线后的所有数字,c#,C#,我有一个代码,它应该会删除某个\uuu var fileNameOnly1 = Regex.Replace(fileNameOnly, @"[_\d]", string.Empty); 即 输入 4a_32 abcdef43252_43242 asdadsasd 电流输出 4a2 abcdef432523242 4a abcdef43252 预期产出 4a2 abcdef432523242 4a abcdef43252 我还尝试了使用@“[\ud]” 有没有办法擦除之后的数字,同时
\uuu
var fileNameOnly1 = Regex.Replace(fileNameOnly, @"[_\d]", string.Empty);
即
输入
4a_32
abcdef43252_43242
asdadsasd
电流输出
4a2
abcdef432523242
4a
abcdef43252
预期产出
4a2
abcdef432523242
4a
abcdef43252
我还尝试了使用@“[\ud]”
有没有办法擦除之后的数字,同时也擦除''.'字符???试试这个
模式
_\d+
示例
var fileNameOnly = "asdads_234asd";
var result = Regex.Replace(fileNameOnly, @"_\d+", string.Empty);
Console.WriteLine(result);
输出
4a_32
abcdef43252_43242
asdadsasd
您没有特别提到您需要使用regex,在大多数情况下,我建议您不要使用它,因为regex相当慢(与其他方法相比),而且很麻烦(读写困难)
我认为最好使用字符串操作来实现这一点
var fileNameOnly1 = fileNameOnly.Split('_')[0];
上面的代码将找到第一个“\ux”,并获取它前面的所有字符(作为字符串返回)。只需使用此正则表达式:
\ud+
Regex.Replace(fileNameOnly, @"_\d+", string.Empty);
这对我来说确实有效,但我忘了包括u,它也应该被删除,我的坏。什么修订版也可以删除?NikkiMunoz用输入和输出更新您的问题方括号匹配其中的任何单个字符,因此您匹配的是“一个下划线或一个数字”,而不是“一个下划线然后一个数字”