소스상 이상이 없는것같아서 테스트해봤는데 제대로 나오는데요;;
String readMessage = " 0559 0559 0559";
readMessage = readMessage.replaceFirst(" 0559", "a");
readMessage = readMessage.replace(" 0559", "b");
Log.e("readMessage ", readMessage );
로 해보니 출력결과가 abb로 나오는데요.
readMessage.replaceFirst(" 0559", "a");에서 " 0559"에 띄어쓰기가 잘못들어갔는지 확인해보세요