xd66_tb88 2015-06-15 02:52 采纳率: 0%
浏览 2253

poi的WordExtractor解析word03文件,出现文件中不存在的一个网址

使用POI的WordExtractor解析word文件的文本,提取出来的文本中出现此word文件内容中不存在的一个网址,具体说明如下:
import org.apache.poi.hwpf.extractor.WordExtractor;

public static void test1(String path) {
try {
InputStream in = new FileInputStream(new File(path));
WordExtractor extractor = new WordExtractor(in); //从输入流中加载word文档
String text2003 = extractor.getText().trim();
System.out.print(text2003);
in.close();
} catch (Exception e) {
e.printStackTrace();
}
}

public static void main(String[] args) {
test1("F:/爱在北欧宣传点.doc");
}

 ![图片说明](https://img-ask.csdn.net/upload/201506/15/1434336629_643046.png)

 就是上面图片中“安徒生的童话故事将以话剧...”这句话被解析出来是以下这个样子的:

(​http:​/​​/​www.visitdenmark.cn​/​sites​/​default​/​files​/​styles​/​article_slide_583x285​/​public​/​%E6%89%93%E7%81%AB%E5%8C%A3%E4%BA%B2%E5%AD%90%E6%B4%BB%E5%8A%A8%E4%B8%AD%E5%BF%832_%E5%89%AF%E6%9C%AC.jpg?itok=k1qloq1J" \o "​)安徒生的童话故事将以话剧、故事讲述、剧院和艺术形式独具匠心的再现。

前面多了一个小括号括起来的网址,这是为何?
有经验的同行帮忙解决以下,感激!

  • 写回答

1条回答 默认 最新

  • Mr mower 2019-08-15 09:29
    关注

    我也试过也会出现莫名url,可以换种方式,用getParagraphText()和stripFields方法可解决,
    ByteArrayInputStream is = new ByteArrayInputStream(bytes);
    WordExtractor extractor = new WordExtractor(is);
    String [] para =extractor.getParagraphText();
    StringBuilder sb=new StringBuilder();
    for(String s:para){
    System.out.println(WordExtractor.stripFields(s)); //去除特殊标签
    System.out.println("---------------------------");
    sb.append(WordExtractor.stripFields(s));
    }
    System.out.println(sb.toString());

    评论

报告相同问题?

悬赏问题

  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 luckysheet
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型
  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱