# Sonderzeichen DACH ^



## wersi77 (10. Jul 2012)

Hallo,

Leider funktioniert das folgende nicht:

```
String pattern = "ABC^123^5";
String[] parts = pattern.split("^");
```

Wer kann mir helfen bzw. mir sagen, wie ich dem split-Parameter den korrekten Delimiter mitgebe?

Vielen Dank


----------



## Marcinek (10. Jul 2012)

```
pattern.split("\^");
```

Weil das ein RegEx Zeichen ist.


----------



## Michael... (10. Jul 2012)

Das ^ ist eine RegEx Metazeichen und muss maskiert werden

```
String[] parts = pattern.split("\\^");
```


----------



## ASCII-Table (10. Jul 2012)

Korrekterweise wird "^" als "Zirkumflex" bezeichnet.
Ein Blick in [japi]Pattern[/japi] welches intern von String.split() genutzt wird (auch hier hätte die API geholfen : String.split(String RegEx) steht in der API IMMER für eine RegEx) hätte dir gesagt das "^" ein Meta-Zeichen ist und escaped werden muss.

@Marcinek
DAS wird nicht gehen da du sonst versuchst die Escape-Sequenz "\^" zu kodieren was sicher der Compiler als ungültig anmerken wird. Meta-Zeichen in RegEx werden immer mit "\\" kodiert. Daher auch "\" -> "\\\\".


----------



## faetzminator (10. Jul 2012)

Wie immer, muss ich hier noch [c]Pattern.quote()[/c] als Idee bringen  [c]Pattern.quote("^")[/c] gibt dir [c]"\\^"[/c] zurück.


----------



## xehpuk (10. Jul 2012)

faetzminator hat gesagt.:


> [c]Pattern.quote("^")[/c] gibt dir [c]"\\^"[/c] zurück.


Nein.

Es werden 
	
	
	
	





```
\Q
```
 und 
	
	
	
	





```
\E
```
 zum Maskieren benutzt. Am Ende kommt also 
	
	
	
	





```
\Q^\E
```
 heraus.


----------



## faetzminator (10. Jul 2012)

xehpuk, oke oke, geb mich geschlagen


----------

