Вам нужно установить с позицией, чтобы заменить только текст с форматом
r.setText(text, 0);
Для таблицы u нужно найти этот путь
for (XWPFTableRow row : tbl.getRows()) {
for (XWPFTableCell cell : row.getTableCells()) {
for (XWPFParagraph p : cell.getParagraphs()) {
for (XWPFRun r : p.getRuns()) {
.....
}}
// Replace values with nested table
for (XWPFTable tbl2 : cell.getTables()) {
for (XWPFTableRow row2 : tbl2.getRows()){
for (XWPFTableCell cell : row.getTableCells()) {
for (XWPFParagraph p : cell.getParagraphs()) {
for (XWPFRun r : p.getRuns()) {
...
}}
}}}