2010-11-24 22 views
5

我有一个字符串,可以包含像000232或999999或023000 值我试图做的是从第一个字符串中删除第一个000,离开第二个字符串,并从第三个字符串中删除第一个0,并将000保留在右侧如何从C#2.0中的字符串中删除第一个0(零)

如何最好地执行此操作?

在此先感谢

回答

13

使用String.TrimStart

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

请注意,你的String.TrimStart结果分配给string类型的变量是必不可少的。在.NET中,string是不可变的,因此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;