正则表达式将SQL格式转换为java格式

时间:2012-08-08 09:04:19

标签: java regex

我正在尝试将sql属性转换为java格式。 让我们举个例子:我想改变:“p_start_date”改为“pStartSate”。

我试过用

String var = "p_start_date";
var.replaceAll("(_[a-z])\1", "([A-Z])\1");

以及

Pattern pattern = Pattern.compile("([a-z0-9]+_)*");
        Matcher matcher = pattern.matcher(var);


    if (matcher.find()) {
        // Get all groups for this match
        //System.out.println(matcher.groupCount());
        for (int i=0; i<=matcher.groupCount(); i++) {
            String groupStr = matcher.group(i);
            System.out.println(groupStr);
        }
    }

但两者都不起作用

1 个答案:

答案 0 :(得分:1)

这是你在找什么?

String var = "p_start_date";

Pattern pattern = Pattern.compile("_([a-z])");
Matcher matcher = pattern.matcher(var);

StringBuffer sb=new StringBuffer();
while(matcher.find()) {
    matcher.appendReplacement(sb, matcher.group(1).toUpperCase());
}
matcher.appendTail(sb);

System.out.println(sb);

输出: pStartDate