This took me like a week to solve, I was trying all sorts of things. I am running on Java 1.8 and trying to grab an API Response with unicode characters and only replace the more specific emojis (in the range of \uaaaa - \uffff) that were causing me problems and turning into "?".
mediaResp = mediaResp.replaceAll("\\\\u(?=[a-fA-F][0-9a-fA-F]{3})", "\\\\\\\\u");