Как удалить первые числовые символы из строки с помощью регулярных выражений? строка str = 20Be45;Как удалить начальные числовые символы из строки в C#
Выход -> Be45
Как удалить первые числовые символы из строки с помощью регулярных выражений? строка str = 20Be45;Как удалить начальные числовые символы из строки в C#
Выход -> Be45
Это Regex
string text = "20Be45";
string replaced = Regex.Replace(text, "^[0-9]+", string.Empty);
НО, я запрограммировал в течение 15 лет без использования регулярных выражений, и вы знаете, что? Я был happy, и мои программы работал.
int i = 0;
while (i < text.Length && text[i] >= '0' && text[i] <= '9')
{
i++;
}
text = text.Substring(i);
char.IsNumber или char.IsDigit? –
@JamesBarrass 'char.IsDigit', вероятно, лучше ... Но я очень старый, я все еще использую сравнение> = '0' <= '9', которое очень легко читать. (и имеет то преимущество, что он отлично читается, без необходимости думать, означает ли это цифра Unicode или цифра 0-9, как с дихотомией IsDigit/IsNumber) – xanatos
[Regexp: теперь у вас есть две проблемы] (http: // blog. codinghorror.com/regular-expressions-now-you-have-two-problems/);) –
Это еще одно решение с использованием метода String.TrimStart:
string text = "20Be45";
string replaced = text.TrimStart('0', '1', '2', '3', '4', '5', '6', '7', '8', '9');
Это мое предпочтительное решение этой проблемы. –
Другой, не Regex версия:
var text = "20Be45";
var result = string.Concat(text.SkipWhile(char.IsDigit));
Вы удалили второй цифровой символ, а также. –
да, это то, что я ищу. (начальные числовые символы) –