# split("("); Problem



## MrTobi (13. Jan 2012)

Hallo Forum,
ich habe mal eine kurze Frage zum split("("); ich bekomme nämlich immer ein Fehler wenn ich versuche einen String bei der runden Klammer zu splitten. Ich hab auch schon die Suchfunktion genutzt aber anscheinend hatte noch niemand das Problem wenn er mit Klammer auf splitten wollte.

Exception in thread "main" java.util.regex.PatternSyntaxException: Unclosed group near index 1
(
 ^
	at java.util.regex.Pattern.error(Unknown Source)
	at java.util.regex.Pattern.accept(Unknown Source)
	at java.util.regex.Pattern.group0(Unknown Source)
	at java.util.regex.Pattern.sequence(Unknown Source)
	at java.util.regex.Pattern.expr(Unknown Source)
	at java.util.regex.Pattern.compile(Unknown Source)
	at java.util.regex.Pattern.<init>(Unknown Source)
	at java.util.regex.Pattern.compile(Unknown Source)
	at java.lang.String.split(Unknown Source)
	at java.lang.String.split(Unknown Source)
	at ioHandler.DataBaseConnector.getListofDataHolders(DataBaseConnector.java:170)
	at logic.Main.main(Main.java:22)

Der Code der den Fehler verursacht sieht so aus:
Der String tempRohteil ist "AS: K74511-I0432-X31          (10X2)"


```
...
String tempRohteil = completeResult.getString(3);
			
			if(tempRohteil.contains("(")){
				String[] tempArrayRohteil = tempRohteil.split("(");
				
				currentHolder.setsRohteil(tempArrayRohteil[0]);
				
				if(tempArrayRohteil[1].isEmpty() == false){
					tempArrayRohteil[1] = tempArrayRohteil[1].replace(')', ' ');
					currentHolder.setsEtikette(tempArrayRohteil[1]);
				}else{
					currentHolder.setsEtikette("");
				}
			}else{
				
			}
```

Für eure Hilfe wäre ich euch sehr dankbar.

Grüße
Mr Tobi


----------



## Gast2 (13. Jan 2012)

split erwartet nen Regex, und "(" muss bei ner Regex escaped werden. probier also mal folgendes:
	
	
	
	





```
split("\\(")
```


----------



## faetzminator (13. Jan 2012)

Oder - wenn der Input kein Regex ist - kann man das auch mit [c]Pattern.quote()[/c] escapen: [c]tempRohteil.split(Pattern.quote("("))[/c].


----------



## MrTobi (13. Jan 2012)

Die erste Lösung hat funktioniert, vielen Dank.


----------



## faetzminator (13. Jan 2012)

Die zweite auch - und ist erst noch schöner, wenn auch länger


----------

