如何在java中替换字符串?

fur*_*ish 2 java regex string

我有一个String str = "a_bcde_fghij_k".

我想把它改成 "aBcdeFghijK"

如果有一个_字符,下一个字符将更改为大写并删除_字符.

我怎样才能做到这一点?

Jon*_*eet 10

我怀疑你需要逐个完成这个角色,随时建立弦乐.例如:

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();
}
Run Code Online (Sandbox Code Playgroud)

  • 像往常一样清洁和纠正.无法击败JonSkeet® (2认同)