Нужно изменить строку lowercase_underscore на camelCase - программирование
Подтвердить что ты не робот

Нужно изменить строку lowercase_underscore на camelCase

Мне нужно изменить String: нижний и нижний регистры = верхний регистр. (и наоборот)

my_name -> myName

Есть ли какая-нибудь библиотека или что-то в этом роде?

4b9b3361

Ответ 2

Я предлагаю собственное решение

    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

Ответ 3

CaseFormat - это класс утилиты в Google Guava для преобразования между условными условными обозначениями.

Ответ 4

Другим решением является использование 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());

Ответ 5

Проверьте этот код, я проверил его.

        String str = new String("my_name");

        for(int i=0;i<str.length()-1;i++){
            if(str.charAt(i)=='_' && (int) str.charAt(i+1)>=97 && (int) str.charAt(i+1)<=122){
              str=str.replace(str.substring(i, i+2),""+(char)((int) str.charAt(i+1)-32));
            }
        }
        System.out.println(str);

Ответ 6

String s="My_name";
        int i=s.indexOf('_');       
        s=s.replaceFirst(Character.toString(s.charAt(i+1)),Character.toString(Character.toUpperCase(s.charAt(i+1))));
        s=s.replaceAll("_","");

Ответ 7

String s="srinivas";

s=s.replaceFirst(Character.toString(s.charAt(0)), 
                 Character.toString(Character.toUpperCase(s.charAt(0))));

//s Value is "Srinivas" now