在java字符串中用大写字母替换下划线

rak*_*non 0 java

我有一个字符串 string_function_test。我需要将此字符串转换为 stringFunctionTest。我如何使用 java 来做到这一点。

And*_*s_D 5

public static String camelcasify(String in) {
    StringBuilder sb = new StringBuilder();
    boolean capitalizeNext = false;
    for (char c : in.toCharArray()) {
        if (c == '_') {
            capitalizeNext = true;
        } else {
            if (capitalizeNext) {
                sb.append(Character.toUpperCase(c));
                capitalizeNext = false;
            } else {
                sb.append(c);
            }
        }
    }
    return sb.toString();
}
Run Code Online (Sandbox Code Playgroud)

这是一个基本的方法。缺少什么:对格式错误的字符串的一些特殊处理(如有必要)


Lou*_*man 5

使用番石榴:

CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, "string_function_test");
 // returns "stringFunctionTest"
Run Code Online (Sandbox Code Playgroud)