string str="0000000010000000200000030000005";
for(int i=0;i<str.Length;i++)
{
  if(str[i]!=0)
   Response.Write("第"+(i+1).ToString()+"的值是"+str[i]+"\n");
}

解决方案 »

  1.   

    char ch;
    int myIndex;
    ch = '1';
    myIndex = str.IndexOf(ch);
    ch = '5';
    myIndex = str.IndexOf(ch);
    ....
      

  2.   

    赞成bitsbird(一瓢.net)的。
    Str.IndexOf("1")如果知道找哪个用这种。不知道找哪个时用这种,把整个字符串扫描一遍,不是0或其它你不需要的就可以把它找出来。
    string str="0000000010000000200000030000005";
    for(int i=0;i<str.Length;i++)
    {
      if(str[i]!=0)
       Response.Write("第"+(i+1).ToString()+"的值是"+str[i]+"\n");
    }
      

  3.   

    string str="n";
    for(int i=0;i<str.Length;i++)
    {
      if(str[i]!=0)
       Response.Write("第"+(i+1).ToString()+"的值是"+str[i]+"\n");
    }
      

  4.   

    用正则表达式可以
    不过我不会,帮不了你
    自己看MSDN的帮助吧。