将字符串转换为Java中修改过的驼峰大小写或标题大小写,否则称为

将字符串转换为Java中修改过的驼峰大小写或标题大小写,否则称为,java,regex,string,function,camelcasing,Java,Regex,String,Function,Camelcasing,我想使用一些预定义的库将任何字符串转换为修改过的驼峰大小写或标题大小写,而不是编写自己的函数 例如“HI tHiS SomE Statement”到“HI tHiS SomE Statement” 正则表达式或任何标准库都会帮助我 我在eclipse中找到了一些库函数,比如STRING.toCamelCase()是否存在这样的东西?您可以很容易地编写实现此目的的方法: public static String toCamelCase(final String init) { if (

我想使用一些预定义的库将任何字符串转换为修改过的驼峰大小写或标题大小写,而不是编写自己的函数

例如
“HI tHiS SomE Statement”
“HI tHiS SomE Statement”

正则表达式或任何标准库都会帮助我


我在eclipse中找到了一些库函数,比如
STRING.toCamelCase()是否存在这样的东西?

您可以很容易地编写实现此目的的方法:

  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();
}


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

import org.apache.commons.lang.StringUtils;
StringUtils.capitalize(MyString);
感谢Ted Hopp正确地指出问题应该是标题案例,而不是修改后的骆驼案例


驼峰格通常在单词之间没有空格。

也许你的意思是?“”通常指“HiThisIsSomeStatement”(单词之间没有分隔符)。对不起,我不知道标题大小写。谢谢特德·霍普。我想要标题案例如果
字符串
中有两个连续的空格(或者
字符串
为空),此代码将引发
StringIndexOutOfBoundsException
。如果
字符串
为空,它将抛出一个
NullPointerException
。@FlorentBayle哦,让我们看看更新的答案!!除了
word.substring(0,1).toUpperCase()
之外,您还可以执行
Character.toUpperCase(word.charAt(0))
在android studio Java中不工作您是否导入了所需的Apache包-显然此实用程序不与任何IDE绑定-它是一个Java实用程序,已被org.Apache.commons.text取代
    static String toCamelCase(String s){
           String[] parts = s.split(" ");
           String camelCaseString = "";
           for (String part : parts){
               if(part!=null && part.trim().length()>0)
              camelCaseString = camelCaseString + toProperCase(part);
               else
                   camelCaseString=camelCaseString+part+" ";   
           }
           return camelCaseString;
        }

        static String toProperCase(String s) {
            String temp=s.trim();
            String spaces="";
            if(temp.length()!=s.length())
            {
            int startCharIndex=s.charAt(temp.indexOf(0));
            spaces=s.substring(0,startCharIndex);
            }
            temp=temp.substring(0, 1).toUpperCase() +
            spaces+temp.substring(1).toLowerCase()+" ";
            return temp;

        }
  public static void main(String[] args) {
     String string="HI tHiS is   SomE Statement";
     System.out.println(toCamelCase(string));
  }
import org.apache.commons.lang.StringUtils;
StringUtils.capitalize(MyString);