Java全部替换:如何更改下划线后的每个字母?

时间:2017-09-26 14:20:13

标签: java regex replaceall

我希望使用下划线更改每个单词作为单词而不使用下划线但使用大写

示例:new_york - >纽约

到目前为止,我的解决方案是为每个字母写一行,效率不高:

mySolution = mySolution.replaceAll("_a", "A");

编辑:这个问题是关于在一行中使用ReplaceAll的问题,因此与另一个问题无关。我可以管理一个" long"程序,但我想大多数用户会很乐意得到这个问题的实际答案。

1 个答案:

答案 0 :(得分:0)

public class HelloWorld {

    public static void main(String[] args) {
        System.out.println(convert("Hello W_o_rld_"));
    }

    static String convert(String s) {
        StringBuilder sc = new StringBuilder();
        for (int i = 0; i < s.length() - 1; i++) { //to avoid _ at last index
            if (s.charAt(i) == '_') {
                sc.append((Character.toUpperCase(s.charAt(i + 1))));
                i++;

            } else {
                sc.append(s.charAt(i));
            }
        }
        return sc.toString();
    }
}

遍历String的字符并在_

之后修改下一个字符