I\'ve wondering is there a regex pattern that i could use to convert a pattern which is an underscore and a lowercase letter into an uppercase letter. I\'m trying to generat
To do this on regexp level you have to use \U
to switch on uppercase mode and \E
to switch it off. Here is an example how to use this feature in IntelliJ IDEA find-and-replace
dialog which transforms set of class fields to JUnit assertions (at IDE tooltip is a result of find-and-replace
transformation):
import com.google.common.base.CaseFormat;
protected static String replaceDashesWithCamelCasing(String input){
return CaseFormat.LOWER_HYPHEN.to(CaseFormat.UPPER_CAMEL, input);
}
Maybe you want to use Google Guava:
Code:
import static com.google.common.base.CaseFormat.LOWER_CAMEL;
import static com.google.common.base.CaseFormat.LOWER_UNDERSCORE;
public class Main {
public static void main(String[] args) {
String str = "load_id,policy_id,policy_number";
for(String columnName : str.split(",")) {
System.out.println(LOWER_UNDERSCORE.to(LOWER_CAMEL, columnName));
}
}
}
Output:
loadId
policyId
policyNumber
You can use:
String s = "load_id,policy_id,policy_number";
Pattern p = Pattern.compile( "_([a-zA-Z])" );
Matcher m = p.matcher( s );
StringBuffer sb = new StringBuffer();
while (m.find()) {
m.appendReplacement(sb, m.group(1).toUpperCase());
}
m.appendTail(sb);
System.out.println(sb.toString()); // loadId,policyId,policyNumber