我从科学文章中提取文本时遇到问题。
我使用PDFBox从pdf中提取文本。该
问题不是来自提取过程,而是一些特殊的数学符号导致问题,当我想将提取的文本写入XML文件时,未正确提取的特殊字符将导致麻烦。而不是,
或其他类似的HTML代码将插入XML文件并废弃整个文件。如何解决这个问题?
我所说的HTML代码看起来像these,目前,数字218就是麻烦。但我想对于不同的数学符号,不同的HTML代码将被替换并导致问题。
我已经尝试过以下字符串清理,但没有帮助:
nextWord=nextWord.replaceAll("[-+.^:,]", "");
nextWord=nextWord.replaceAll("\\s+", "");
nextWord=nextWord.replaceAll("[^\\x00-\\x7F]", "");
答案 0 :(得分:1)
您可以在将每行写入文件之前编写预检查,以检查文本是否包含不明确的字符。下面的模式包含任何给定教科书中的所有基本字符。您可以根据自己的内容添加或删除。
public boolean isValidCharacters(String word){
String pattern= "^[a-zA-Z0-9~@#$^*()_+={}|\\,.?: -]*$";
return word.matches(pattern);
}
答案 1 :(得分:0)
你可以用正则表达式自己编写一些东西,或者如果你有其他字符串操作来做Apache StringUtils真的很棒。它有一个易于实现的isAlpha()isNumeric()方法。
https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html