# Ersten Buchstaben in einem Wort groß schreiben.



## till123 (10. Aug 2008)

Hallo,

gibt es eine Methode, mit der ich den ersten char in einem String groß schreiben kann?!

Bsp.:
 Eingabe: hallo
       --> soll aber als Hallo abgespeichert werden.

Hat einer Idee oder einen Lsg....


Danke und Gruß


----------



## Beni (10. Aug 2008)

Diese Methoden könnten dir weiterhelfen: String.charAt, String.length, Character.toUpperCase


----------



## till123 (11. Aug 2008)

Hallo hier meine Lsg.:

Ich habe mir eine separate Methode geschrieben, die mir den ersten Buchstaben umwandelt.
War jetzt aber nur auf die schnelle und ganz zufrieden bin ich mit ihr nicht.
Die Performance lässt grüßen  :roll: 



```
public String changeFirstCharFromLowToUp(String oldWord)
    {
		String[] b = new String[oldWord.length()];
		for(int i = 0; i[list=1] [h] + [allo] ?!?
Dann könnte ich mir eine for-Schleife sparen.


Gruß
```


----------



## Ark (11. Aug 2008)

Bemutze einen StringBuilder oder StringBuffer, um eben darin die Zeichen zu verändern. (Normale Strings sind unveränderlich, deswegen müssen bei jeder Änderung neue erzeugt werden.) Character.toUpperCase(), wie gesagt, wird dir dabei helfen.

Ark


----------



## Gast (12. Aug 2008)

Wie wärs damit. Bin zwar nicht DER Profi, aber es sollte
seinen Zweck erfüllen. (kommt ohne for-Schleife aus...)


```
public String lower2Upper(String message)
{
    char newChar = message.charAt(0);
    newChar = Character.toUpperCase(newChar);
    message = message.replaceFirst(String.valueOf(message.charAt(0)),
               		                     String.valueOf(newChar));
		
    return message;
}
```

Gruß


----------



## semi (12. Aug 2008)

Hier ein Beispiel mit RegEx
	
	
	
	





```
public class RegExExample {
   static String toUpperCase(final Pattern pattern, final String s) {
      StringBuffer sb = new StringBuffer(s.length());
      Matcher m = pattern.matcher(s);
      while(m.find()) {
         m.appendReplacement(sb, m.group().toUpperCase());
      }
      m.appendTail(sb);
      return sb.toString();
   }
   
   // Erster Buchstabe eines jeden Wortes
   static final Pattern PATTERN1 = Pattern.compile("(\\b.{1})"); 
   static String toUpperCase1(String s) {
      return toUpperCase(PATTERN1, s);
   }

   // Erster Buchstabe eines Wortes in einer Zeile
   static final Pattern PATTERN2 = Pattern.compile("^\\s*(\\b.{1})", Pattern.MULTILINE);
   static String toUpperCase2(String s) {
      return toUpperCase(PATTERN2, s);
   }

   public static void main(String[] args) {
      String s = "dies ist ein test\n  mit mehreren\n    zeilen";
      System.out.println(toUpperCase1(s));
      System.out.println();
      System.out.println(toUpperCase2(s));
   }
}
```


----------



## Crizztl (8. Sep 2008)

```
String string = Character.toUpperCase(string.charAt(0)) + string.substring(1, string.length());
```


----------

