2010-11-24 11 views
5

Tengo una cadena que puede contener un valor como 000232 o 999999 o 023000 Lo que trato de hacer es eliminar los primeros 000 de la primera cadena, dejar la segunda cadena y eliminar el primer 0 de la tercera cadena y mantener 000 a la derechaCómo eliminar los primeros 0 (cero) de la cadena en C# 2.0

¿Cómo puedo hacer mejor esto?

Gracias de antemano

Respuesta

13

Uso String.TrimStart:

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

Tenga en cuenta que es esencial que se asigna el resultado de String.TrimStart a una variable de tipo string. En .NET, string s son inmutables y, por lo tanto, String.TrimStart no modifica el string sobre el que se invoca el método. Es decir, s.TrimStart('0') no modifica s. Si desea modificar s debe decir

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

se me adelantó. :) –

+0

O simplemente 'TrimStart ('0')' –

+0

Cool, gracias Jason – Peter

3

Como alternativa, se puede usar una expresión regular:

using System.Text.RegularExpressions; 

string x = "000232"; 
x = Regex.Replace(x, "^0*", ""); 
+2

"Algunas personas, cuando se enfrentan con un problema, piensan" Lo sé, usaré expresiones regulares. "Ahora tienen dos problemas". – jason

0
int valueInt; 
if (int.TryParse(valueString, out valueInt)) 
    result = valueInt.ToString(); 
else 
    result = string.Empty; 
Cuestiones relacionadas