Я читаю значения ячеек из одного листа Excel и помещаю их в другой с помощью Apache POI. Для одного конкретного столбца я хотел бы скопировать только номера этой ячейки. Естественно я попробовал это:
newCell.setCellValue(oldCell.getRichStringCellValue().replaceAll("\\D+",""));
Я узнал, что не могу напрямую использовать replaceAll()
на RichTextString , поскольку он не относится к типу String
, поэтому я использовал метод getString()
и попробовал это:
newCell.setCellValue(oldCell.getRichStringCellValue().getString().replaceAll("\\D+",""));
Это сработало, но, преобразовав его в String
, я, очевидно, потерял всю дополнительную информацию (примененные шрифты и т. Д.), Включенную в RichTextString. Вот почему у меня такой вопрос: Как я могу извлечь только цифры, но оставить RichTextString без изменений?