如何在 C# 2.0 中从字符串中删除开头的零?

6

我有一个字符串,可能包含像000232、999999或023000这样的值。

我想做的是从第一个字符串中删除第一个000,保留第二个字符串,并从第三个字符串中删除第一个0并保留右侧的000。

我该如何最好地完成这个任务?

提前感谢!

3个回答

16

使用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');

3

你也可以使用正则表达式:

using System.Text.RegularExpressions;

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

2
有些人遇到问题时,会想:“我知道,我可以使用正则表达式。”现在他们有两个问题了。 - jason

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接