Вы можете создать новую строку "с нуля", например:
someStr = someStr.substring(0, someStr.lastIndexOf(" ")) + " New Word";
Другой вариант (если вы действительно хотите использовать «заменить» :) - это сделать
someStr = someStr.replaceAll(" \\S*$", " New Word");
replaceAll
использует регулярные выражения, а \S*$
означает пробел, за которым следуют некоторые непробельные символы, а затемконец строки(То есть заменить символы после последнего пробела.)