计算字符串中有多少个非零数字

时间:2014-02-01 20:37:40

标签: c# string numbers

我有这个字符串:

  

0374:0462:0469:0354:0411:0433:0704:0391:0000:0000:0000:0000:0000:0000:0000:0000:

我想知道其中有多少非零数字(以“:”分隔)。

应该输出“8”。

3 个答案:

答案 0 :(得分:4)

var result = str.Split(':').Where(x => !x.All(c => c == '0')).Count();

或者您也可以使用Trim

var result = str.Split(':').Count(x => x.Trim('0').Any());

答案 1 :(得分:3)

var count = input.Split(new[] { ':' }, StringSplitOptions.RemoveEmptyEntries).Count(x => int.Parse(x) != 0);

答案 2 :(得分:2)

var test = src.Split(':').Count(c => c.All(char.IsDigit) && c.Any(x => x != '0'));