【问题标题】:Java split string at Uppercase and convert all to lowercaseJava以大写拆分字符串并将全部转换为小写
【发布时间】:2013-09-10 15:33:39
【问题描述】:

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

    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

【问题讨论】:

  • 我不明白你的要求。你能展示一些示例输入和所需的输出吗?
  • 为澄清而编辑。
  • 为什么不使用 string.toLowerCase()?
  • @JavaKB Op 询问Do I set that in another String variable and use toLowerCase?,问题是替换所有函数的结果应该分配给另一个字符串或直接toLowerCase 是否有效:)
  • 是的,SURESH ATTA 的解决方案奏效了。

标签: java android string format


【解决方案1】:

不需要另一个字符串

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

【讨论】:

  • 该死的天才,你可以生我的孩子
猜你喜欢
  • 2016-01-22
  • 2010-09-14
  • 2015-07-14
  • 2023-04-01
  • 2023-01-12
  • 2018-08-30
  • 1970-01-01
  • 2012-01-08
  • 2014-10-30
相关资源
最近更新 更多