Java以大写字母分割字符串并将全部转换为小写

时间:2013-09-10 15:33:39

标签: java android string format

我希望能够以大写字母分割字符串,然后将它们全部转换为小写字母。我能够使用以下方法拆分大写字母:

    public String getString() {
    return string.replaceAll(
              String.format("%s|%s|%s",
                 "(?<=[A-Z])(?=[a-z])",
                 "(?<=[^A-Z])(?=[A-Z])",
                 "(?<=[A-Za-z])(?=[^A-Za-z])"
              ),
              " "
           );
        }

现在我想弄清楚如何将它全部转换为小写。最好的方法是什么?我是否在另一个String变量中设置并使用toLowerCase?

编辑:澄清,显示输入和输出。

输入:smallCat

输出:small Cat

所需的输出为:small cat

1 个答案:

答案 0 :(得分:4)

不需要另一个字符串

只需使用toLowerCase()

即可
 public   String getString() {
            return string.replaceAll(
                      String.format("%s|%s|%s",
                         "(?<=[A-Z])(?=[a-z])",
                         "(?<=[^A-Z])(?=[A-Z])",
                         "(?<=[A-Za-z])(?=[^A-Za-z])"
                      ),
                      " "
                   ).toLowerCase();
                }

<强>测试

public static void main(String[] args) { 

        System.out.println(getString());
    }

     public static String getString() {
            return "sdsDsfsWerGDLKSAsdfsdfSAA".replaceAll(
                      String.format("%s|%s|%s",
                         "(?<=[A-Z])(?=[a-z])",
                         "(?<=[^A-Z])(?=[A-Z])",
                         "(?<=[A-Za-z])(?=[^A-Za-z])"
                      ),
                      " "
                   ).toLowerCase();
                }

输出:

sds d sfs w er gdlksa sdfsdf saa