Cómo reemplazar subcadenas literales que no distinguen entre mayúsculas y minúsculas en Java

Utilizando el métodoreplace(CharSequence target, CharSequence replacement) en String, ¿cómo puedo hacer que el objetivo no distinga entre mayúsculas y minúsculas?

Por ejemplo, la forma en que funciona en este momento:

String target = "FooBar";
target.replace("Foo", "") // would return "Bar"

String target = "fooBar";
target.replace("Foo", "") // would return "fooBar"

¿Cómo puedo hacer que reemplazar (o si hay un método más adecuado) no distingue entre mayúsculas y minúsculas para que ambos ejemplos devuelvan "Bar"?

Respuestas a la pregunta(8)

Su respuesta a la pregunta