将字符串转换为Java或Title Case中的Modified Camel Case,否则称为

tak*_*hna 14 java regex string camelcasing function

我想使用一些预定义的库将任何字符串转换为修改后的Camel case或Title case,而不是编写自己的函数.

例如"HI tHiS is SomE Statement",以"Hi This Is Some Statement"

正则表达式或任何标准库将帮助我.

我在eclipse中找到了某些库函数,就像STRING.toCamelCase();存在这样的东西吗?

Flo*_*yle 18

您可以轻松编写方法来执行此操作:

  public static String toCamelCase(final String init) {
    if (init == null)
        return null;

    final StringBuilder ret = new StringBuilder(init.length());

    for (final String word : init.split(" ")) {
        if (!word.isEmpty()) {
            ret.append(Character.toUpperCase(word.charAt(0)));
            ret.append(word.substring(1).toLowerCase());
        }
        if (!(ret.length() == init.length()))
            ret.append(" ");
    }

    return ret.toString();
}
Run Code Online (Sandbox Code Playgroud)

  • 而不是`word.substring(0,1).toUpperCase()`你可以做`Character.toUpperCase(word.charAt(0))` (6认同)

tak*_*hna 16

我用下面的方法来解决这个问题.

import org.apache.commons.lang.StringUtils;
StringUtils.capitalize(MyString);
Run Code Online (Sandbox Code Playgroud)

感谢Ted Hopp正确地指出问题应该是TITLE CASE而不是修改CAMEL CASE.

Camel Case通常在单词之间没有空格.

  • 不能在android studio java中工作 (2认同)

sup*_*rEb 15

来自commons-lang3

org.apache.commons.lang3.text.WordUtils.capitalizeFully(String str)
Run Code Online (Sandbox Code Playgroud)

  • 已弃用,由 org.apache.commons.text 取代 (3认同)

归档时间:

查看次数:

90744 次

最近记录:

7 年,4 月 前