Remplacer une sous-chaîne (replaceAll) solution de contournement

Je suis en train de remplacer une sous-chaîne qui contient le caractère "$". Je serais heureux d'entendre pourquoi ça ne fonctionne de cette manière, et comment cela pourrait fonctionner.

Grâce,
user_unknown

public class replaceall {
    public static void main(String args[]) {
        String s1= "$foo - bar - bla";
        System.out.println("Original string:\n"+s1);
        String s2 = s1.replaceAll("bar", "this works");
        System.out.println("new String:\n"+s2);
        String s3 = s2.replaceAll("$foo", "damn");
        System.out.println("new String:\n"+s3);
    }

}
InformationsquelleAutor user_unknown | 2010-11-05