2016-09-07 23 views
-3

文字列の各単語の最初の文字を大文字に変換するメソッドがありますか?文字列の最初の文字を大文字にする方法がありますか?

EX: FIRSTNAMEのmiddlenameの姓

TO: ファーストネームMiddlename姓

ない場合、私は、任意のライブラリを使用したくない、Javaでこれを行う方法を教えてください。

ソリューション:

は、以下のHQLクエリを使用して、それを解決しました。

String hql = "select concat(concat(upper(substring(personFirstName,1,1)), " 
       + " lower(substring(personFirstName,2))), ' ', " 
       + " concat(upper(substring(personMiddelName,1,1)), " 
       + " lower(substring(personMiddelName,2))), ' ', " 
       + " concat(upper(substring(personLastName,1,1)), " 
       + " lower(substring(personLastName,2)))) " 
       + " from PersonModel "; 

ありがとうございます。

+1

広すぎるか不明瞭です。少なくとも役に立たない。実際に私たちにいくつか[文字列操作](http://docs.oracle.com/javase/8/docs/api/java/lang/String.html)を行う方法を尋ねていますか? – Seelenvirtuose

+0

HQLにはSQLのINITCAP()に似たメソッドがありますか? – karthi

+0

[Javaを使用して文字列の最初の文字を大文字にする方法は?](http://stackoverflow.com/questions/5725892/how-to-capitalize-the-first-letter-of-word-in -a-string-using-java) –

答えて

1

私はあなたがユーティリティをたくない場合は、あなたがあなた自身の

private String capitalizeName(String firstName , String lastName , String middleName){ 
     StringBuffer fullName = new StringBuffer(); 
     fullName.append(firstName); 
     fullName.append(' '); 
     fullName.append(middleName); 
     fullName.append(' '); 
     fullName.append(lastName); 


     String[] tokens = fullName.toString().split("\\s"); 
     String nameWithCaps = ""; 

     for(int i = 0; i < tokens.length; i++){ 
      char capLetter = Character.toUpperCase(tokens[i].charAt(0)); 
      nameWithCaps += " " + capLetter + tokens[i].substring(1); 
     } 
     nameWithCaps = nameWithCaps.trim(); 
     return nameWithCaps; 
    } 
+0

これは完璧に動作していました。 – karthi

0

を使用して、あなたの問題を解決するJavaプログラムを書かれていますこれを使って: String maString = "firstname"; maString = maString.substring(0,1).toUpperCase()+ maString.substring(1).toLowerCase();

0

てみ方法をロールアップすることができStringクラスで使用可能なメソッド

public static void main(String[] args) { 
     String test = "firstname middlename lastname"; 
     String array [] = test.split(" "); 
     StringBuilder builder = new StringBuilder(); 
     for (int i = 0; i<array.length; i ++) { 
      builder.append(array[i].toUpperCase().charAt(0) + array[i].substring(1, array[i].length())); 
      builder.append(" "); 
     } 
     System.out.println(builder.toString()); 
    } 
+0

実用的な解決策ではありませんが、彼はすべての言葉がそのように処理されることを望んでいます。 – Damiano

関連する問題