0

「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

4 に答える 4

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);
}
于 2013-04-04T15:00:16.453 に答える
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);
  }
}

おそらく、部分文字列がオーバーフローしないようにすることで、より安全にするために時間をかけたいと思うでしょうが、本質的には、文を取得し、スペースで分割してから、最初の単語を小文字にし、他のすべての単語を a で始めることで再構築します資本。

編集:文字列関数名を修正しました...代わりに、これを行うことができます。これは、よりきれいに見えると思います:

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);
于 2013-04-04T15:11:51.207 に答える
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

注: または、capitalize(a) を使用して各単語の最初の文字を大文字にし、残りの単語はそのままにします。例えば

BoBs big barBeque は BoBs BIg BarBeque に大文字(a)を付ける

capitlizeFully(a) を使用したボブズ ビッグ バーベキュー;

于 2013-04-04T15:27:27.523 に答える
-1
String a = "Bobs big barbeque";
String r = a.replace(" ","");

rにはスペースなしの文字列が含まれています...

于 2013-04-04T15:01:25.180 に答える