将SQL格式转换为java格式的正则表达式
问题描述:
我正在尝试将sql属性转换为java格式。 让我们来举个例子:我想将“p_start_date”更改为“pStartSate”。将SQL格式转换为java格式的正则表达式
我试着使用
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);
}
}
但两者不工作
答
这是你在找什么?
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
+0
请不要在使用StringBuilder时使用StringBuffer。 – 2012-08-13 08:03:00
你为什么需要它?如果你想从表中创建java对象,你可以使用ORM框架。 – Simeon 2012-08-08 09:05:38
我在我的JEE项目中使用命名查询,并返回一个DTO。这就是为什么我使用这种常规性 – 2012-08-08 09:09:54
@Simeon你有什么建议吗? – 2012-08-08 09:24:43