split 메소드는 아래와 같은 원형을 갖습니다
public String[] split (String regularExpression)
괄호 안에 들어가는 부분이 구분자(delimeter)가 아닌 정규식(regular expression)입니다.
^가 정규식에서 아무 의미가 없다면, 했던대로 하셔도 원하는 결과가 나와야 합니다만, ^는 정규식에서 문자열의 처음을 의미합니다.
따라서 정규식의 ^가 아닌, 일개 구분자 ^라고 알려주기 위해서 아랫분이 적으신 것처럼 \\^으로 변경해주셔야 합니다.
그외 Pattern.quote("^") 를 쓰시거나, 여러가지 다른 방법(StringTokenizer, Pattern.compile 등)들이 있습니다.