关于正则表达式:如何从C#中的字符串中删除初始数字字符?

How to remove initial numeric characters from a string in C#?

如何使用正则表达式从字符串中删除第一个数字字符?字符串str=20be45;

输出>BE45


这是雷杰克斯

1
2
string text ="20Be45";
string replaced = Regex.Replace(text,"^[0-9]+", string.Empty);

但是,我编程了15年没有使用正则表达式,你知道吗?我很高兴,我的节目也很好。

1
2
3
4
5
6
7
8
int i = 0;

while (i < text.Length && text[i] >= '0' && text[i] <= '9')
{
    i++;
}

text = text.Substring(i);


这是另一个使用string.trimstart方法的解决方案:

1
2
string text ="20Be45";
string replaced = text.TrimStart('0', '1', '2', '3', '4', '5', '6', '7', '8', '9');


另一个非regex版本:

1
2
var text ="20Be45";
var result = string.Concat(text.SkipWhile(char.IsDigit));