带驼峰属性转为SQL带下划线并大写

package com.hongniu.common.quartz.factory;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @program: hongniu_serverManage
 * @description: 带驼峰属性转为SQL带下划线并大写
 * @author: qlinchao
 * @create: 2019-02-18 14:57
 **/
public class Test {
    static Pattern p = Pattern.compile("[A-Z]");
    public static void main(String[] args) {
        String[] strArr = {"SubAccount","SubAccName","Order", "TransCode","OtherSubAccount","OtherSubAccName",
                "CreMoney","PayPayeeSign","SubAccountMoney", "MerchantSqlId","SysSqlId","TradeTimes",
                "PayOrderid","CurrCode","FeeAmt", "PayBankNo","TranDate","FreezeAccbal",

                "BusiSummary","CustPayFee","MerchantFee","AppType", "FeeFlag","Remark1","Remark2", "TransCodeId","Remark3","Remark4","Remark5"
        };
        for (int i = 0; i <strArr.length ; i++) {
            String s = upperCharToUnderLine(strArr[i]).toUpperCase();
            System.out.println(s);
        }


    }

    public static String upperCharToUnderLine(String param) {

        if (param == null || param.equals("")) {
            return "";
        }
        StringBuilder builder = new StringBuilder(param);
        Matcher mc = p.matcher(param);
        int i = 0;
        while (mc.find()) {
//            System.out.println(builder.toString());
//            System.out.println("mc.start():" + mc.start() + ", i: " + i);
//            System.out.println("mc.end():" + mc.start() + ", i: " + i);
            builder.replace(mc.start() + i, mc.end() + i, "_" + mc.group().toLowerCase());
            i++;
        }

        if ('_' == builder.charAt(0)) {
            builder.deleteCharAt(0);
        }
        return builder.toString();
    }
}

参考:https://blog.csdn.net/m0_37749778/article/details/82148874

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值