Я не понимаю, почему "$" является особенным.
String str = "bla aa";
String tag = "$";
str = str.replaceFirst("aa", tag);
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 1
Если я изменю тэг = "\\ $", то он работает нормально.Но почему его нужно избежать?заранее спасибо.