4

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

    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?

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

输入:smallCat

输出:small Cat

所需的输出是:small cat

4

1 回答 1

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
于 2013-09-10T15:37:21.657 回答