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

时间:2012-03-06 05:09:21

标签: java

我有一个字符串string_function_test.I需要将此字符串转换为stringFunctionTest。我怎么能用java做到这一点。

3 个答案:

答案 0 :(得分:4)

使用Guava

CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, "string_function_test");
 // returns "stringFunctionTest"

答案 1 :(得分:3)

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();
}

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

答案 2 :(得分:0)

StringBuffer s = new StringBuffer("skasd_kjsdh_kas_jd");
        for(int i=0;i<s.length();i++)
        {
            if(s.charAt(i)=='_')
            {
                s.setCharAt(i,Character.toUpperCase(s.charAt(i+1)));
                s.deleteCharAt(i+1);
            }
        }
        System.out.println(s);

注意:如果下划线有下划线,则会抛出StringIndexOutOfBoundsException