比如 string str="s2g3h4i5dd";
把字符串的偶数位并且是数字的数出来?求解,急!非常感谢了

解决方案 »

  1.   

    遍历char[],对偶数位得出char对应数进行比较,是否在48,57之间即可.
      

  2.   

    string str="s2g3h4i5dd";
    char[] c = str.ToCharArray();
    string r_str="";
    for (int i = 0; i < c.Length; i++)
                {
                    if (i%2==1)
                    {
                        try{
                            r_str+=Convert.ToString(Convert.ToInt16(c[i]));
                          }
                         catch()
                         {}
                    }
                }没测试,思路是这个思路,自己调一下吧
      

  3.   


    void Main()
    {
     string str="s2g3h4i5dd";
     
     var query=str.ToCharArray().Where((s,index)=>index%2>0 &&Regex.IsMatch(s.ToString(),"\\d"));
     Console.WriteLine(new string(query.ToArray()));//2345}
      

  4.   

    支持这个,然后有一个IsDigit可以判断是否为数字
      

  5.   


    List<string> list = new List<string>();
                string str = "s2g3h4i5dd";
                char[] chars = str.ToCharArray();
                for (int i = 0; i < chars.Length; i++)
                {
                    if (i % 2 != 0)
                    {
                        char c=chars[i];
                        if (c >= 48 && c <= 57)
                        {
                            list.Add(c.ToString());
                        }
                    }
                }
      

  6.   

    这样好点
    List<string> list = new List<string>();
                string str = "s2g3h4i5dd";
                char[] chars = str.ToCharArray();
                for (int i = 1; i < chars.Length; i += 2)
                {
                    char c = chars[i];
                    if (c >= 48 && c <= 57)
                    {
                        list.Add(c.ToString());
                    }
                }
      

  7.   

     string str = "s2g3h4i5dd";
                var res =new string(str.Where((c, i) =>
                {
                  
                    return i % 2> 0 && c >= 48 && c <= 57;
                }).ToArray()) ;
      

  8.   

    void Main()
    {
         string str="s2g3h4i5dd";
         
         var query=str.ToCharArray().Where((s,index)=>index%2>0 &&Regex.IsMatch(s.ToString(),"\\d"));
         Console.WriteLine(new string(query.ToArray()));//2345}
    这个好