c#字符串(字母+数字)累加

一个字符串,前面是字母,但是不是固定的位数,可能是n位,后面是数字,怎么实现字母不变,数字加1,比如字符串abcd1234运算后就为abcd1235只考虑前面字母,后面数... 一个字符串 ,前面是字母,但是不是固定的位数,可能是n位,后面是数字,怎么实现字母不变,数字加1 ,比如字符串 abcd1234 运算后就为abcd1235 只考虑前面字母,后面数字的情况。 展开
 我来答
暗灬灬战
推荐于2017-12-16 · TA获得超过805个赞
知道小有建树答主
回答量:464
采纳率:0%
帮助的人:181万
展开全部

//你在控制台程序中试

     //复制以下代码到Main方法中,就可以看到结果了。这个方法简单易懂。不明白再问我。


            Console.WriteLine("请输入一个字符串(前面字母,后面数字),回车结束。");

            string x = Console.ReadLine();            

            string a = "";

            string b = "";

            

            for (int i = 0; i < x.Length; i++)

            {

                try

                {

                    b += Convert.ToInt32(x.Substring(i,1));

                }

                catch

                {

                    a += x.Substring(i, 1);

                }

            }

            string r = a + (Convert.ToInt32(b) + 1);

            Console.ForegroundColor= ConsoleColor.Red;

            Console.WriteLine("输出的结果为:"+r);

            Console.ReadKey();



截图:

如果帮到了你,请采纳。

tonalilili
2014-09-19 · TA获得超过1.6万个赞
知道大有可为答主
回答量:8050
采纳率:71%
帮助的人:3187万
展开全部
int i=1234;
string str="abcd";
Console.WriteLine(str + i);

输出结果就是 abcd1234.
所以你只要保持字符串str不变,i随便你变动,然后在调用console。write打印输出的时候写成 str+i就可以了。
追问
问题是我现在并不知道字符串是怎样一个字符串,字母位数和数字位数未知
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
KOPTOPY
2014-09-20 · 超过29用户采纳过TA的回答
知道答主
回答量:60
采纳率:75%
帮助的人:34.6万
展开全部

  比如字符串s1,那么遍历字符串s1中的char,挨个比较ascii的值,取到第一个为数字的字符的位置(seat),然后通过用字符串截取函数,分别截取字母(s3)和数字(i),取出数字转换为int类型(i),数字加1,得出结果后转换为string类型,最后创建一个新的字符串两个字符串加就可以了。

  string s1 = "adcv1113456";string s2;char ch;string result;string s3;
  int seat= GetNumberSeat(s1);
  //从第seat个截取字符串
  string s2 = s1.Substring(seat);
  int i =  Convert.ToInt32(s2);
  i = i + 1;
  s3 = s1.Substring(0,s1.lenghtseat);
  result = s3 +  Convert.ToString(i);
  //获取第一个为数字的下标
  public  int GetNumberSeat(string s){
    for(int i = 0; i<=s1.lenght-1;i++){
    ch = s1[i];
    //char字符0-9对应asics的值为48-57
    if(ch>=48&&ch<=57){
       return i;
    }
    else
    {
    return (s1.lenght-1);
    }
  }
  
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友fe97f47
2014-09-19 · 超过61用户采纳过TA的回答
知道小有建树答主
回答量:132
采纳率:0%
帮助的人:78.4万
展开全部
string strStr = "abcd1234";
int nNumIndex = 0;
for (int i = 0; i < strStr.Length; i++)
{
   string str = strStr.Substring(i);
   char charStr =strStr[i];
   if ((charStr >= 'a' && charStr <= 'z') || (charStr >= 'A' && charStr <= 'Z'))
   {
      //为字母
   }
   else 
   {
     //为数字,
      nNumIndex = i;
       break;
    }                
}
   string strString = strStr.Substring(0,nNumIndex); // 字母部分
   int nNumber = int.Parse(strStr.Substring(nNumIndex, strStr.Length - strString.Length))+1; //数字

希望对你有所帮助

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-09-19
展开全部
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 字符串累加
{
    class Program
    {
        static void Main(string[] args)
        {
            String str = "abcd1234";
            char[] ch = str.ToCharArray();
            for (int i = 0; i < 10; i++)
            {
                for (int j = ch.Length - 1; j >= 0; j--)
                {
                    ch[j]++;
                    if (ch[j] == ':')//ASCLL表中9的下一个字符
                    {
                        ch[j] = '0';
                    }
                    else
                        break;
                }
                for (int k = 0; k < ch.Length; k++)
                    Console.Write(ch[k]);
                Console.WriteLine();
            }      
            Console.ReadKey();
        }
    }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式