在Java中用大写字母分隔

时间:2012-02-10 16:45:29

标签: java string split

我需要按大写字母分割字符串,最好将后续单词小写;

例如

ThisIsAString变为This is a string

由于

4 个答案:

答案 0 :(得分:3)

看起来您想将camelcase转换为可读语言。是这样的吗?

如果是这样,此解决方案应该适合您 - How do I convert CamelCase into human-readable names in Java?

如果您希望后续单词小写,则必须自行拆分以自行处理。

答案 1 :(得分:2)

如果你想要一个字符串,你可以这样做:

            String str = "ThisIsAString";
            String res = "";
            for(int i = 0; i < str.length(); i++) {
                    Character ch = str.charAt(i);
                    if(Character.isUpperCase(ch))
                            res += " " + Character.toLowerCase(ch);
                    else
                            res += ch;
            }

答案 2 :(得分:1)

public static String cpt(String cpt){
    String new_string = "";
    for (int i=0; i < cpt.length(); i++){
        char c = cpt.charAt(i);
        if(Character.isUpperCase(c)){               
            new_string = new_string + " " + Character.toLowerCase(c);
        }
        else {
            new_string = new_string + c;
        }
    }
    return new_string;
}

答案 3 :(得分:0)

使用字符大小写识别的驼峰式单词中的单词总数

解决方案:黑客等级骆驼案问题:https://www.hackerrank.com/challenges/camelcase/problem

public static void camelCaseWordWithIndexs(String s) {


    int startIndex = 0;
    int endIndex = 0;

    for (int i = 0; i < s.length(); i++) {
        if (Character.isUpperCase(s.charAt(i)) || i == s.length() - 1) {
            startIndex = endIndex;
            endIndex = i != s.length() - 1 ? i : i + 1;
            System.out.println(s.substring(startIndex, endIndex));
        }
    }


}