我有这个字符串:
0374:0462:0469:0354:0411:0433:0704:0391:0000:0000:0000:0000:0000:0000:0000:0000:
我想知道其中有多少非零数字(以“:”分隔)。
应该输出“8”。
答案 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'));