public class Main
{
   static String replaceLast(String string, String substring, String replacement)
   {
      int index = string.lastIndexOf(substring);
      if (index == -1)
         return string;
      return string.substring(0, index) + replacement + string.substring(index+substring.length());
   }
   
   public static void main(String[] args) throws Exception
   {
       System.out.println(replaceLast("abc", "d", "e"));
       System.out.println(replaceLast("abca", "a", "e"));
       System.out.println(replaceLast("abc", "a", "e"));
       System.out.println(replaceLast("\"Position, fix, dial\"", "\"", "\\\""));
   }
}