我有一个String str = "a_bcde_fghij_k"

我想将其更改为"aBcdeFghijK"

如果具有_字符,则下一个字符将变为大写并删除_字符。

我怎样才能做到这一点?

最佳答案

我怀疑您只需要逐个字符地遍历此字符,就可以构建字符串。例如:

public static String underscoreToCapital(String text) {
    // This will be a bit bigger than necessary, but that shouldn't matter.
    StringBuilder builder = new StringBuilder(text.length());
    boolean capitalizeNext = false;
    for (int i = 0; i < text.length(); i++) {
        char c = text.charAt(i);
        if (c == '_') {
            capitalizeNext = true;
        } else {
            builder.append(capitalizeNext ? Character.toUpperCase(c) : c);
            capitalizeNext = false;
        }
    }
    return builder.toString();
}

07-28 02:32
查看更多