需要将lowercase_underscore字符串更改为camelCase

Dec*_*ard 22 java case-sensitive

我需要更改字符串:underbar + lowercase = uppercase.(和相反的)

my_name -> myName
Run Code Online (Sandbox Code Playgroud)

有没有图书馆或其他东西来帮助解决这个问题?

gma*_*gma 53

您可以使用google Guava中CaseFormatLOWER_UNDERSCORE:

CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, "my_name")
Run Code Online (Sandbox Code Playgroud)

  • 请注意,这会将驼峰式字符串转换为小写字母,例如,将“ accountUsers”转换为“ accountusers”,在这种情况下,仅在必要时使用此字符串才有用,例如原始字符串包含下划线。 (2认同)

Evg*_*eev 9

我建议定制解决方案

    Pattern p = Pattern.compile("_(.)");
    Matcher m = p.matcher("my_name");
    StringBuffer sb = new StringBuffer();
    while (m.find()) {
        m.appendReplacement(sb, m.group(1).toUpperCase());
    }
    m.appendTail(sb);
    System.out.println(sb.toString());
Run Code Online (Sandbox Code Playgroud)

产量

myName
Run Code Online (Sandbox Code Playgroud)

  • 为什么使用StringBuffer而不使用StringBuilder? (2认同)

obo*_*ain 5

CaseFormat是 Google Guava 中的一个实用程序类,用于在大小写约定之间进行转换。