java如何将取出的字符串+1
我现在从数据库取出一个字符串,为:01_001,如何在java程序中实现01_001+1=01_002?下次再加的话就是01_003...
我现在从数据库取出一个字符串,为:01_001,如何在java程序中实现01_001+1=01_002?下次再加的话就是01_003
展开
12个回答
展开全部
/**
* 字符串+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,求高手优化,求采纳。
展开全部
如果01_001,下划线前面的数据不变,那就把后面的字符串截取出来用Integer.valueOf(String)
方法将其转化成整型数据,然后计算加1,然后在用“前置补零"方法变回字符串拼回去
方法将其转化成整型数据,然后计算加1,然后在用“前置补零"方法变回字符串拼回去
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
根据下划线将字符串分成01和001,然后将001转成int,加1,变成002,然后01加下划线加002就是你要的结果了,想不出别的办法了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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;
}
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先charat(6)取到字符 i 然后转换为 int类型 让后i++ 然后 再replace(str,'6',i)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询