java - 如何使用 Apache POI 删除包含特定字符串的 docx 中的特定段落
问题描述
我正在尝试使用 Apache POI 删除包含特定字符串的文档的特定段落。我在这里的第二个答案中找到了一段代码:
https://stackoverflow.com/a/44326734/8504176
FileInputStream fis = new FileInputStream(fileName);
XWPFDocument doc = new XWPFDocument(fis);
fis.close();
// Find a paragraph with todelete text inside
XWPFParagraph toDelete = doc.getParagraphs().stream().filter(p -> StringUtils.equalsIgnoreCase("todelete", p.getParagraphText()))
.findFirst().orElse(null);
if (toDelete != null)
{
doc.removeBodyElement(doc.getPosOfParagraph(toDelete));
OutputStream fos = new FileOutputStream(fileName);
doc.write(fos);
fos.close();
}
但是 equalsIgnoreCase() 抛出一个错误,我没有得到它:
线程“主”java.lang.RuntimeException 中的异常:无法编译的源代码 - 错误的符号类型:com.sun.xml.internal.ws.util.StringUtils.equalsIgnoreCase
如何解决这个问题?提前致谢
解决方案
推荐阅读
- scala - java.io.FileNotFoundException: s3:/my_bucket/input2.properties 同时使用 AWS EMR 通过 jar 从 S3 存储桶访问
- r - 在 R 中使用多个条件执行条件 Diff()
- erd - 电影院票务座位 ERD
- python - 需要在python中合并一个稀疏矩阵和数据框中的两列
- regex - 在某个字符串之后使用 sed 将 camelCase 转换为 snake_case?
- python - 在 Google colab 中尝试此代码,但不知道如何修复它
- nginx - 如何删除标头服务器 nginx
- javascript - 开发工具 chrome 扩展和网站之间的两种方式通信
- javascript - 将分数添加到 div
- node.js - 单元测试 Jest Node Fetch