比如两个字符串ABCD100~ABCD1000,除了前四位是固定的字母外,后面的数字是连续的,也就是可以把ABCD100~ABCD1000当做连续的一串数字,
再给两个字符串ABCD150~ABCD500,这两个字符串是在上面两个字符串之间取出来的一段,我要的效果是把ABCD100~ABCD1000拆分成ABCD100~ABCD149和ABCD501~ABCD1000,大侠帮帮忙 ,最好有代码

解决方案 »

  1.   

    ABCD字母后面的数字可能是0开始的
      

  2.   

    要的输出结果是ABCD100、ABCD149、ABCD501、ABCD1000四个字符串
    还是ABCD100~ABCD149、ABCD501~ABCD1000的数组
      

  3.   


            private void button1_Click( object sender, EventArgs e )
            {
                string strA = "ABCD100~ABCD1000";
                string strB = "ABCD150~ABCD500";            string[] arrA = strA.Split( '~' );
                string[] arrB = strB.Split( '~' );            string strC = arrA[0] + "~" + "ABCD" + ( Convert.ToInt32( arrB[0].Substring( 4 ) ) - 1 ).ToString();
                string strD = "ABCD" + ( Convert.ToInt32( arrB[1].Substring( 4 ) ) + 1 ).ToString() + "~" + arrA[1];            MessageBox.Show( string.Format( "{0}\n{1}", strC, strD ) );
            }
      

  4.   

    string str1="ABCD100";
    string str2="ABCD1000";
    string str3="ABCD150";
    string str4="ABCD500";
    string str5=str3.Substring(0,4)+(int.Parse(str3.Substring(4))-1);
    string str6=str4.Substring(0,4)+(int.Parse(str4.Substring(4))+1);
      

  5.   

    如果
    string str1="ABCD00100";
    string str2="ABCD01000";
    string str3="ABCD00150";
    string str4="ABCD00500";
    该怎么处理啊
    拆出来是把2个窜拆开
      

  6.   

    你可以用一个变量来表示后面的变化的值咯,前面的字符串固定下来。】
    string strA="ABCD"+"@spen".这样一来就可以不用那么麻烦的了,
    再搞个数据库来记录用户输入的记录不久搞定了 吗!
    当然,这个里面需要一个存储过程!
      

  7.   

    不知道有没理解错:
    f = "ABCD100ABCD149ABCD501ABCD1000……";//f是ABCD100~ABCD1000连续的一串数字
    string sub1 = f.Substring(0,f.IndexOf("ABCD501"));
    string sub2 = f.Substring(f.IndexOf("ABCD501"));
      

  8.   

    string str1="ABCD00100"; 
    string str2="ABCD01000"; 
    string str3="ABCD00150"; 
    string str4="ABCD00500"; 
    string str5=str3.Substring(0,4)+(int.Parse(str3.Substring(4))-1).ToString("D5");
    string str6=str4.Substring(0,4)+(int.Parse(str4.Substring(4))+1).ToString("D5");//后面的数字是几位就写D几
      

  9.   

                string str = "ABCD100~ABCD1000";
               // int a = linkLabel3.Text.IndexOf("的");
                int a = str.IndexOf("~");
                String str1 = str.Substring(0, a);//得到ABCD100
                String str2 = str.Substring(a+1);//得到ABCD1000
                String str3 = numFromString(str1);///得到数字100
                String str4 = numFromString(str2);///得到数字1000        public string numFromString(string str1)//////////////////////自定义函数,返回字符串中的数字
            {
                string temp = "0123456789";
                string str2 = "";
                for (int i = 0; i < str1.Length; i++)
                {
                    for (int j = 0; j < temp.Length; j++)
                    {
                        if (str1.Substring(i, 1) == temp.Substring(j, 1))
                            str2 += str1.Substring(i, 1);
                    }
                }
                return str2;
            }
    不是很明白你的需求
    不过以上代码的功能应该够你用了,
    根据你自己需求
    自己在整理吧
      

  10.   

    这样实现。
    前面的部分不动,后面的用循环加上!

    string temp = "ABCD"; //临时变量,存储前面不变的部分
    string[] strA = new string[50]; //数组变量,存储字符串 ABCD100~ABCD149 ;
    string[] strB = new string[500]; //数组变量,存储字符串 ABCD501~ABCD1000 ;
    //这是前部分的,就是从ABCD100~ABCD149 的数组;
      for (int i = 100; i < 150; i++)
      {
        strA[i-100] = temp + i;
      }
    //这是后部分的,就是从ABCD501~ABCD1000 的数组;
      for (int j = 501; j <= 1000; j++)
      {
        strB[j-501] = temp + j;
      }
    //得到这两个数组,就可从中提取你要的部分了
      

  11.   

    这样实现。 
    前面的部分不动,后面的用循环加上!
     
    string temp = "ABCD"; //临时变量,存储前面不变的部分 
    string[] strA = new string[50]; //数组变量,存储字符串 ABCD100~ABCD149 ; 
    string[] strB = new string[500]; //数组变量,存储字符串 ABCD501~ABCD1000 ; 
    //这是前部分的,就是从ABCD100~ABCD149 的数组; 
      for (int i = 100; i < 150; i++) 
      { 
        strA[i-100] = temp + i; 
      } 
    //这是后部分的,就是从ABCD501~ABCD1000 的数组; 
      for (int j = 501; j <= 1000; j++) 
      { 
        strB[j-501] = temp + j; 
      } 
    //得到这两个数组,就可从中提取你要的部分了