JAVA中自动返回传入字符串末尾数字加1

需求分析

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();
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容