将句子转换为变量名称语法

时间:2013-04-04 14:58:42

标签: java

如何将字符串从“Bobs big barbeque”转换为bobsBigBarbeque?

String variableName = result;
for ( int i = 0; i < result.length( ); i++ ) {
    char c = result.charAt( i );
    if ( c == ' ' ) {
       Character.toUpperCase( variableName.charAt( result.indexOf( c )+1 ) );
    }
    variableName = variableName.replace( " ", "" );
    Character.toLowerCase( variableName.charAt( 0 ) );
    System.out.println( variableName );
}

我几乎让它工作了。我唯一的问题是线路......

Character.toLowerCase( variableName.charAt( 0 ) );

我必须将第一个字符转换为小写

4 个答案:

答案 0 :(得分:3)

String str = "Bobs big barbeque";
str = str.replace(" ", "");

如果您只想替换给定字符串中的空格,请尝试以上代码:

我根据您给定的输入和输出编写了以下代码:

public static void main(String[] args) {

    String str = "Bobs big barbeque";
    String newStr = String.valueOf(str.charAt(0)).toLowerCase();
    for (int i = 1; i < str.length(); i++) {
        if (str.charAt(i) == ' ') {
            newStr = newStr
                    + String.valueOf(str.charAt(i + 1)).toUpperCase();
            i = i + 1;
        }
        newStr = newStr + String.valueOf(str.charAt(i));
    }

    System.out.println(newStr);
}

答案 1 :(得分:1)

String sentence = "Bobs big barbeque";
String[] words = sentence.split(" ");
String newVarName = "";

for (int i = 0; i < words.length; i++) {
  if (i == 0) {
    newVarName += words[i].toLowerCase();
  } else {
    newVarName += words[i].substring(0,1).toUpperCase() + words[i].substring(1);
  }
}

您可能希望花时间通过确保子字符串不会溢出来使其更安全,但实际上它会占用您的句子,在空格上将其分开,然后通过将第一个单词设为小写以及其他所有内容来重构它从资本开始。

编辑:修正了我的字符串函数名称......或者你可以做到这一点我认为看起来更干净:

for (int i = 0; i < words.length; i++) {
    newVarName += words[i].substring(0,1).toUpperCase() + words[i].substring(1);
}
newVarName = newVarName.substring(0,1).toLowerCase() + newVarName.substring(1);

答案 2 :(得分:0)

String a = "Bobs big barbeque";
a = WordUtils.capitalizeFully(a);  //Capitalize the first letter of each word only 
a = a.replace(" ", "");            // Remove Spaces
a = a.substring(0,1).toLowerCase() + a.substring(1); // Lowercase first letter

注意:或者只是大写(a)将每个单词的第一个字母大写,并留下单词的其余部分。 E.g。

BoBs bIg barBeque将是BoBs BIG BarBeque with capitalize(a)

Bobs Big Barbeque with capitlizeFully(a);

答案 3 :(得分:-1)

String a = "Bobs big barbeque";
String r = a.replace(" ","");

r现在包含没有空格的字符串......