近日,笔者做的项目中,遇到这么一个需求,获取数据库中的特定字符ID(包含特定的字符串和序列化数字,如test00001),根据获取的特定字符ID,实现该ID自动加一的功能。
这个功能实现起来并不难,笔者的思想是:先获取该字段的字母段和数字段,并将数字段装换为int类型,实现int类型的变量加1,最后加入序列化的0即可。
笔者的思想可能并不是最优解,如有更好的方法,欢迎指正,谢谢。
代码如下:
public String getNextTestID(String TestID){
String idStr = TestID.replaceAll("[^(a-zA-Z)]","" );
String idNum = TestID.replaceAll("[^(0-9)]", "");
int number = Integer.parseInt(idNum );
number = number+1;
//加入5位数的0,组成序列化数字
idNum = String.format("%05d", number);
TestID= idStr + idNum ;
return TestID;
}