# RegEx - Ersetze alles bis Leerzeichen



## Hero (19. Mai 2012)

Hallo,
Ich kämpfe gerade mit wahrs. sowas leichten, wenn ich die Lösung sehe aber alleine kriege ich es einfach nicht hin.

Mein Problem
 Sei String str = "h2o + 10 + hex7 * 4 + x"
Jetzt soll jedes SubString durch eine beliebige Zahl z.B. 0 ersetzt werden wo es mit einen Buchstaben anfängt. Also müssen h2o durch 0 ersetzt werden,  hex7 und x auch.

So dass der String zum Schluss
str="0 + 10 + 0 * 4 + 0" aussieht

aber wie soll ich das machen?


----------



## HoaX (19. Mai 2012)

Das kürzeste wäre eine Zeile mit einem regulären Ausdruck. Aber du kannst es auch einfach zu Fuß machen:
1. Den String bei jedem Leerzeichen teilen, so dass du am Ende eine Liste mit den einzelnen Teilstrings hast.
2. Die Liste durchgehen und schauen was das erste Zeichen des Teilstrings ist, und ggf. den Teilstring ersetzen.
3. Die Teilstrings wieder zu einem großen String zusammensetzen.


----------



## Hero (19. Mai 2012)

Danke erstmal

wie würde ich es mit einem regulären Ausdruck machen?


----------



## HoaX (19. Mai 2012)

String#replaceAll passend aufrufen.


----------



## Hero (19. Mai 2012)

HoaX hat gesagt.:


> String#replaceAll passend aufrufen.



Das ist ja genau mein Problem :lol: Ich finde nicht den passenden Aufruf. Wie lautet der passende Aufruf?


----------



## Volvagia (19. Mai 2012)

Ohne Garantie (ziemlicher RegEx-Noob), aber versuchs mal so:


```
public static void main(String[] args) {
	String in = "h2o + 10 + hex7 * 4 + x";
	String reg = "([A-Za-z]([A-Za-z0-9]*))";
	System.out.println(in.replaceAll(reg, "0"));
}
```

Ein "Bitte" wäre aber schon nett.


----------

