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?
Diese Frage hat bereits Antworten:
Antwort
Zu viele Anzeigen?
user439407
Punkte
1566
Mit Regexen ist das viel einfacher:
Pattern spaces=Pattern.compile("\\s+[a-z]");
Matcher m=spaces.matcher(word);
StringBuilder capitalWordBuilder=new StringBuilder(word.substring(0,1).toUpperCase());
int prevStart=1;
while(m.find()) {
capitalWordBuilder.append(word.substring(prevStart,m.end()-1));
capitalWordBuilder.append(word.substring(m.end()-1,m.end()).toUpperCase());
prevStart=m.end();
}
capitalWordBuilder.append(word.substring(prevStart,word.length()));
Ausgabe für Eingabe: "Dieser Satz hat seltsame Großbuchstaben"
Dieser Satz hat seltsame Großbuchstaben
- See previous answers
- Weitere Antworten anzeigen