如有一字符串为"01011010"
我想要的操作是1、从右往左隔一位取一个数
2、把取出来的值和取出后的字符串显示出来最后得到的结果应该是
"1100" //从右向左隔一位取一个数
"0011" //取完后剩下的字符串谢谢了

解决方案 »

  1.   

    string str="01011010";
    string str1="",str2="";
    for (int i=0;i<str.Length;i++)
    {
    if (i%2==0)
    str1+=str[i];
    else
    str2+=str[i];
    }
      

  2.   

    string str="01011010";string str1 = "";
    string str2 = "";for (int i = str.Length - 1; i >= 0; i--)
    {
        if (i % 2 == 0)
        {
            str1 = str1 + str.Substring(i,1);
        }
        else
        {
            str2 = str2 + str.Substring(i,1);
        }
    }
      

  3.   

    以下是更通用的算法,不管str是奇数还是偶数,刚才那个算法只有偶数时才正确。string str="010110101";string str1 = "";
    string str2 = "";str是奇数还是偶数的判断
    bool flag = false;
    for (int i = str.Length - 1; i >= 0; i--)
    {
        if (i == str.Length - 1)
        {
            if (i % 2 == 0)
            {
                flag = true;
            }        str1 = str1 + str.Substring(i,1);
            continue;
        }    if (flag)
        {
            if (i % 2 == 0)
            {
                str1 = str1 + str.Substring(i,1);
            }
            else
            {
                str2 = str2 + str.Substring(i,1);
            }
        }
        else
        {
            if (i % 2 == 0)
            {
                str2 = str2 + str.Substring(i,1);
            }
            else
            {
                str1 = str1 + str.Substring(i,1);
            }
        }
    }
      

  4.   

    string strall="01011010";
    string strright="";
    string strleft="";for(int i=0;i<strall.Length-1;i++)
    {
    strleft=strleft+strall.Substring(strall.Length-i-1,1);//剩下的
    strright=strright+strall.Substring(strall.Length-i-2,1);
    i+=1;
    }
      

  5.   

    不好意思,上面的不对,改正如下string strall="01011010";
    string strright="";
    string strleft="";//剩下的while(strall.Length>0)
    {
    if(strleft.Length ==strright.Length )
    {
    strleft=strleft+strall.Substring(strall.Length-1,1);
    }
    else
    {
    strright=strright+strall.Substring(strall.Length-1,1);
    }
    strall=strall.Substring(0,strall.Length-1);
    }