java如何将取出的字符串+1

我现在从数据库取出一个字符串,为:01_001,如何在java程序中实现01_001+1=01_002?下次再加的话就是01_003... 我现在从数据库取出一个字符串,为:01_001,如何在java程序中实现01_001+1=01_002?下次再加的话就是01_003 展开
 我来答
鸿渺shadow
推荐于2017-11-25 · TA获得超过196个赞
知道小有建树答主
回答量:108
采纳率:100%
帮助的人:79.7万
展开全部
/**
字符串+1方法,该方法将其结尾的整数+1,适用于任何以整数结尾的字符串,不限格式,不限分隔符
* @author zxcvbnmzb
* @param testStr 要+1的字符串
* @return +1后的字符串
* @exception NumberFormatException
*/
public static String addOne(String testStr){
    String[] strs = testStr.split("[^0-9]");//根据不是数字的字符拆分字符串
    String numStr = strs[strs.length-1];//取出最后一组数字
    if(numStr != null && numStr.length()>0){//如果最后一组没有数字(也就是不以数字结尾),抛NumberFormatException异常
        int n = numStr.length();//取出字符串的长度
        int num = Integer.parseInt(numStr)+1;//将该数字加一
        String added = String.valueOf(num);
        n = Math.min(n, added.length());
        //拼接字符串
        return testStr.subSequence(0, testStr.length()-n)+added;
    }else{
        throw new NumberFormatException();
    }
}

 原创方法求找BUG,求高手优化,求采纳。

strionws
2013-07-29 · TA获得超过1644个赞
知道小有建树答主
回答量:412
采纳率:0%
帮助的人:377万
展开全部
如果01_001,下划线前面的数据不变,那就把后面的字符串截取出来用Integer.valueOf(String)
方法将其转化成整型数据,然后计算加1,然后在用“前置补零"方法变回字符串拼回去
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
伶俐又顽强灬饼子5252
2013-07-29 · 超过28用户采纳过TA的回答
知道答主
回答量:150
采纳率:0%
帮助的人:86.6万
展开全部
根据下划线将字符串分成01和001,然后将001转成int,加1,变成002,然后01加下划线加002就是你要的结果了,想不出别的办法了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a47f6080e
2013-07-29 · TA获得超过458个赞
知道小有建树答主
回答量:127
采纳率:100%
帮助的人:122万
展开全部
String a ="01_001";
public String next(String a){
//获取a,其中a由两部分组成:第一部分:标志,也就是前面的那两个数字。第二部分:数据,后面的三个数字
String[] data = a.split("_");
//标志
String mark = a.split("_")[0];
//将数据转换成int类型
int upData = Integer.parseInt(a.split("_")[1]);
upData++;
return mark+"_"+upData;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
枫叶爱凡
2013-07-30
知道答主
回答量:22
采纳率:0%
帮助的人:10.4万
展开全部
先charat(6)取到字符 i 然后转换为 int类型 让后i++ 然后 再replace(str,'6',i)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式