2010-11-24 6 views
5

У меня есть строка, которая может содержать значение типа 000232 или 999999 или 023000 То, что я пытаюсь сделать, это удалить первый 000 из первой строки, оставить вторую строку и удалить первую 0 из третьей строки и сохранить 000 вправоКак удалить первые 0 (ноль) из строки в C# 2.0

Как мне лучше всего перенести это?

Заранее спасибо

ответ

13

Использование String.TrimStart:

// s is string 
string trimmed = s.TrimStart('0'); 

Пожалуйста, обратите внимание, что необходимо, чтобы присвоить результат String.TrimStart переменной типа string. В .NET string s являются неизменяемыми, и поэтому String.TrimStart не изменяет string, что метод вызывается. То есть s.TrimStart('0') не изменяет s. Если вы хотите изменить s вы должны сказать

s = s.TrimStart('0'); 
+1

Избили меня к нему. :) – 2010-11-24 03:01:41

+0

Или просто `TrimStart ('0')` – 2010-11-24 03:04:29

3

В качестве альтернативы, вы можете использовать регулярное выражение:

using System.Text.RegularExpressions; 

string x = "000232"; 
x = Regex.Replace(x, "^0*", ""); 
0
int valueInt; 
if (int.TryParse(valueString, out valueInt)) 
    result = valueInt.ToString(); 
else 
    result = string.Empty; 
Смежные вопросы