95 Stimmen

Wie wird jeder erste Buchstabe eines Wortes in einer Zeichenkette großgeschrieben?

Ich habe eine Zeichenkette: "hello good old world" und ich möchte jeden Anfangsbuchstaben eines jeden Wortes großschreiben, nicht den ganzen String mit .toUpperCase(). Gibt es eine vorhandene Java-Hilfe, die diese Aufgabe erfüllt?

128voto

akarnokd Punkte 66673

Werfen Sie einen Blick auf ACL WordUtils .

WordUtils.capitalize("your string") == "Your String"

70voto

ndomanyo Punkte 713

Hier ist der Code

    String source = "hello good old world";
    StringBuffer res = new StringBuffer();

    String[] strArr = source.split(" ");
    for (String str : strArr) {
        char[] stringArray = str.trim().toCharArray();
        stringArray[0] = Character.toUpperCase(stringArray[0]);
        str = new String(stringArray);

        res.append(str).append(" ");
    }

    System.out.print("Result: " + res.toString().trim());

53voto

Gustavo Samico Punkte 521
sString = sString.toLowerCase();
sString = Character.toString(sString.charAt(0)).toUpperCase()+sString.substring(1);

45voto

tommyL Punkte 509

Ich weiß nicht, ob es eine Funktion gibt, aber dies würde die Aufgabe erfüllen, falls es keine gibt:

String s = "here are a bunch of words";

final StringBuilder result = new StringBuilder(s.length());
String[] words = s.split("\\s");
for(int i=0,l=words.length;i<l;++i) {
  if(i>0) result.append(" ");      
  result.append(Character.toUpperCase(words[i].charAt(0)))
        .append(words[i].substring(1));

}

19voto

roy mathew Punkte 7782
import org.apache.commons.lang.WordUtils;

public class CapitalizeFirstLetterInString {
    public static void main(String[] args) {
        // only the first letter of each word is capitalized.
        String wordStr = WordUtils.capitalize("this is first WORD capital test.");
        //Capitalize method capitalizes only first character of a String
        System.out.println("wordStr= " + wordStr);

        wordStr = WordUtils.capitalizeFully("this is first WORD capital test.");
        // This method capitalizes first character of a String and make rest of the characters lowercase
        System.out.println("wordStr = " + wordStr );
    }
}

Sortie :

Dies ist der erste WORD Capital Test.

Dies ist der erste Wort-Kapital-Test.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X