我有一个字符串,如下51200000000000000000000000000000
此字符串未修复。它将附加取决于板的数量。如果有两个板,则字符串将如下5120000000000000000000000000000052200000000000000000000000000000
我想知道如何计算字符串中的零数。
我使用以下代码但如果有两个以上的主板则不灵活。
string str = "51200000000000000000000000000000";
string zeros = "00000000000000000000000000000";
if (str.Contains(zeros))
{
Console.WriteLine("true");
}
else
{
Console.WriteLine("false");
}
答案 0 :(得分:9)
您可以使用以下代码执行此操作,这将为您提供零(Example)的数量。
char matchChar='0';
string strInput = "51200000000000000000000000000000";
int zeroCount = strInput.Count(x => x == matchChar); // will be 29
你可以通过迭代每个字符并检查它是否是必需字符(比如0
)然后计算它来做同样的事情。
答案 1 :(得分:8)
使用简单的foreach
循环遍历字符串并计算:
int CountZeroes(string str)
{
// TODO: error checking, etc.
int count = 0;
foreach (var character in str)
{
if (character == '0') count++;
}
return count;
}
答案 2 :(得分:3)
一种先进(或左右)技术可以将string
转换为char array
然后转换为list of chars
然后使用LINQ
string str = "51200000000000000000000000000000";
List<char> nums = str.ToCharArray().ToList();
Console.WriteLine(nums.Where(x => x.Equals('0')).Select(x => x.ToString()).Count());
我只是把它放在这里,以防你想要学习的不仅仅是一种方法:)
答案 3 :(得分:0)
<强>代码强>
string str = "51200000000000000000000000000000";
int n = 0;
for (int i = 0; i < str.Length; i++)
{
if (str.Substring(i, 1) == "0")
n += 1;
}
Console.WriteLine("Count : " + n.ToString());
<强> Working fiddle demo
强>
答案 4 :(得分:0)
代码:
string st;
st = textBox1.Text;
int countch = 0, i;
for (i = 0; i < st.Length; i++)
if (st[i]=='0') countch++;
MessageBox.Show(countch.ToString());