需求分析
1、防止重名,把字符串末尾添加数字
2、末尾没有数字的,自动添加数字,数字从2开始
举例
例如:
abc =》 abc2
你好1 =》你好2
实现
/**
* 获取字符串最后的一组数字,返回最后数字+1字符串
* @param str
* @return
*/
public static String toStringLastNumAddOne(String str) {
StringBuilder sb = new StringBuilder(str + "0");
// 默认添加一个0 分割数组
String[] str2 = sb.toString().split("[^0-9]");
// 取出最后一组的数字
StringBuilder lastStr = new StringBuilder(str2[str2.length - 1]);
// 删除字符串
sb.delete(sb.length() - lastStr.length(), sb.length());
// 判定如果最后一组数字的长度等于1,说明是原字符串末尾就没有数字,则拼接默认数字2
return sb.append(lastStr.length() == 1 ? "2" :
Integer.parseInt(lastStr.deleteCharAt(lastStr.length() - 1).toString())+ 1)
.toString();
}