Java split on ^ (caret?) not working, is this a special character?

In Java, I am trying to split on the ^ character, but it is failing to recognize it. Escaping \^ throws code error.

Is this a special character or do I need to do something else to get it to recognize it?

String splitChr = "^";
String[] fmgStrng = aryToSplit.split(splitChr); 

Solution 1:

The ^ is a special character in Java regex - it means "match the beginning" of an input.

You will need to escape it with "\\^". The double slash is needed to escape the \, otherwise Java's compiler will think you're attempting to use a special \^ sequence in a string, similar to \n for newlines.

\^ is not a special escape sequence though, so you will get compiler errors.

In short, use "\\^".