当我使用Apache poi自动更改合同的日期时,我对dose.getRuns()如何分开段落非常困惑。我有以下段落 自2014年10月1日起至2014年10月31日止
我使用以下代码查看paragraph.getRuns()返回的XWPFRun的数量
String currentParagraph = "";
for(XWPFRun xwpfRun : paragraph.getRuns()){
currentParagraph += xwpfRun.getText(0);
System.out.println(currentParagraph);
}
我发现前五个数字都是xwpfRun,例如,2014,10,1 但最后一个数字“31”分为两个xwpfRun:“3”和“1”;
这使得很难通过xwpfRun更改日期,我想知道如何处理这个以及paragraph.getRuns()如何工作?
答案 0 :(得分:0)
有时,DOCX文件中的文本会被分解为任意数量的运行。虽然不方便,但处理起来并不困难。
解决方案是迭代段落中的所有运行,并将每个文本的文本连接到一个字符串。然后,更新日期并将其存储为第一次运行的文本。最后,您可以删除或将其他运行中的文本设置为“”。