-11

たとえば、「eyes-of-tiger」を eyesOfTiger に置き換えたいのですが、正確な解決策がわかりません。

「-」を大文字に置き換えるには?

4

5 に答える 5

7
public class Test {

    public static void main(String[] args) {

        String input = "eye-of-tiger";
        String modified = dashToUpperCase(input);
        System.out.println(modified);
    }

    private static String dashToUpperCase(String input) {

        StringBuilder result = new StringBuilder();
        boolean toUpper = false;

        for (int i = 0; i < input.length(); i++) {
            char c = input.charAt(i);
            if (c == '-') {
                toUpper = true;
            } else {
                result.append(toUpper ? Character.toUpperCase(c) : c);
                toUpper = false;
            }
        }

        return result.toString();
    }
}
于 2013-06-11T14:47:24.177 に答える
0

一般的な解決策としてこれを試してください:

String[] split = s.split("-");
    for(int i = 0; i < split.length; i++){
        split[i] = split[i].substring(0, 1).toUpperCase() + split[i].substring(1).toLowerCase();
    }

    StringBuilder builder = new StringBuilder();
    for(String string : split) {
        builder.append(string);
    }
于 2013-06-11T14:41:24.650 に答える
0

これを試して:

    String s = "eyes-of-tiger";
    StringBuilder newString = new StringBuilder();
    String[] arr = s.split("-");
    boolean first = true;
    for (String str : arr) {
        if (first) {
            newString.append(str);
            first = false; 
            continue;
        }
        newString.append((str.substring(0,1).toUpperCase()) + str.substring(1));
    }
    String result = newString.toString();
于 2013-06-11T14:43:37.217 に答える