我试图从microsoft中提取数据,并将其转换为sql语句并插入Oracle数据库。
当ms-word中的数据包含由Shift-Enter而不仅仅是enter创建的新行时,
文本包含一个图标,该图标看起来像带有问号的框。

其中ET只是使用enter键的标准新行,而ST是使用
换挡-进入组合。因此,当生成SQL并将其插入oracle时,oracle并不将其计算为文本,而是计算为十六进制。
我的问题是,如何删除由shift创建的行-输入到一个标准的'\n'?
谢谢
更新这是我获取文本信息的方式
POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(file));
HWPFDocument doc = new HWPFDocument(fs);
WordExtractor we = new WordExtractor(doc);
text = we.getText();更新回答:这是poi-3.6中的一个错误。在poi-3.8中,它显示为\r。
发布于 2013-02-06 17:58:33
您几乎肯定看到的是word文档中的“字段”,它们是特殊的文本块,如链接、宏等。
第一个选项是继续使用WordExtractor,但在使用之前对结果文本调用stripFields(字符串)。这将从文本中删除这些字段中的任何一个。
另一种选择是使用另一种方法来获取文本。WordToTextConverter是Apache的一部分,它是处理更多格式的更复杂的代码,应该跳过这些格式(WordExtractor非常简单和低级别)。另一个是使用阿帕奇蒂卡,它提供了一种从许多文件格式中提取文本的通用方法。它确实有适当的代码来处理字段,而且作为额外的奖励,当您的需求发生变化时,支持.docx或.pdf将是微不足道的!
https://stackoverflow.com/questions/14732791
复制相似问题