26

文字列を変更する必要があります:アンダーバー+小文字=大文字.(およびその逆)

my_name -> myName

これを支援するライブラリまたは何かはありますか?

4

8 に答える 8

62

google GuavaのCaseFormatクラスLOWER_UNDERSCOREを使用できます。

CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, "my_name")
于 2013-06-12T08:50:14.277 に答える
10

カスタムソリューションを提案します

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

出力

myName
于 2013-06-12T09:01:10.793 に答える
5

CaseFormat大文字と小文字の規則を変換するための Google Guava のユーティリティ クラスです。

于 2013-06-12T08:50:33.317 に答える
3

別の解決策は、StringTokenizer を使用することです。

    String value = "id_app";
    StringTokenizer toekn = new StringTokenizer(value,"_");
    StringBuilder str = new StringBuilder(toekn.nextToken());
    while (toekn.hasMoreTokens()) {
        String s = toekn.nextToken();
        str.append(Character.toUpperCase(s.charAt(0))).append(s.substring(1));
    }
    System.out.println(str.toString());
于 2016-10-06T14:21:43.020 に答える