# String in numerisch und alphanumerisch trennen mit regex?



## mws (10. Aug 2009)

Ich muß einen zusammenhängenden String in seine numerischen und alphanumerischen Bestandteile trennen in der Form wie String.split() oder StringTokenizer. 
z.B. "100XD" in "100" und "XD" 
oder "1PE" in "1" und "PE".

Ich bin leider kein regex-Experte. Deswegen meine Frage, ob es eine Möglichkeit gibt das mit z.B. mit String.split() zu erledigten?

Danke in voraus!


----------



## FatFire (10. Aug 2009)

String.split und StringTokenizer sind dafür nicht gemacht, aber die regulären Ausdrücke kannst Du mit Pattern und Matcher trotzdem nutzen. Hier ein Beispiel:

```
String input = "100DX";
		Pattern pattern = Pattern.compile("\\d+|\\D+");
		Matcher matcher = pattern.matcher(input);
		while(matcher.find()){
			System.out.println(matcher.group());
		}
```
Der reguläre Ausdruck ("\\d+|\\D+") bedeutet dabei 1 oder mehrere (+) Vorkommen von Zahlen (\\d) oder (|) 1 oder mehrere Vorkommen von Nicht-Zahlen (\\D).

Gruß FatFire


----------



## mws (10. Aug 2009)

Vielen Dank für die Lösung des Problems!


----------

