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

    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

最佳答案

无需其他字符串

只需使用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

关于java - Java在大写字母处拆分字符串并将其全部转换为小写,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18723128/

10-09 00:03