x量相同后拆分字符串

use*_*670 12 c# regex string split

我需要在C#中拆分字符串,如下所示:

字符串是这样的: 0000120400567

总有一些0s的开始.在上面的示例中,后面有六个零120400567.我想拆分我得到最后一部分的字符串120400567.

开头的零数量可能会改变(最后一个零件号将增加一个数字),这意味着我们可以拥有001245878945和我想要的是什么1245878945.

如何分割此字符串,从而忽略前0或前x个零,并仅获得结束编号?可能是这个数字在开头没有任何零,而数字直接从第一个数字开始......但可能是数字包含8个零而不是2个或更多个数字.

Raw*_*ing 23

string withoutLeadingZeroes = withLeadingZeroes.TrimStart('0');
Run Code Online (Sandbox Code Playgroud)

(要么

string withoutLeadingZeroes = Regex.Replace(withLeadingZeroes, "^0*", "");
Run Code Online (Sandbox Code Playgroud)

要么

string withoutLeadingZeroes = new String(
    withLeadingZeroes.SkipWhile(c => c == '0').ToArray());
Run Code Online (Sandbox Code Playgroud)

要么 ...)


Dou*_*las 9

TrimStart是你的朋友.但是,当原始字符仅包含0时,您需要注意不要以空字符串结尾.

string s = "0000120400567";
s = s.TrimStart('0');
if (s == "")
    s = "0";
Run Code Online (Sandbox Code Playgroud)


Jen*_*ens 5

您可以使用int.Parse将String转换为Integer.这会丢弃前导零,但当然限于int范围内的字符串(如果你使用它,则为long).