#java
#ява #java
Вопрос:
Мне нужно извлечь список всех слов из документа docx, сначала я делаю это, чтобы создать строку со всеми словами :
String newTxt = consultantId.toString();
if (filePath.contains("docx")){
wordCounter.writeDocxToTxt(newTxt,wordCounter.parseDOCX(filePath));
}else if (filePath.contains("doc")){
wordCounter.writeDocxToTxt(newTxt,wordCounter.parseDOC(filePath));
}
public String parseDOCX(String fileNameorFilePath )
{
try {
XWPFDocument docx = new XWPFDocument(new FileInputStream(fileNameorFilePath));
XWPFWordExtractor xwpfWordExtractor = new XWPFWordExtractor(docx);
return xwpfWordExtractor.getText();
}
catch ( Exception error )
{
throw new RuntimeException(error);
}
}
public void writeDocxToTxt(String newTxtName, String parsedDocx) throws Exception
{
BufferedWriter bw = new BufferedWriter(new FileWriter(new File(newTxtName)));
bw.write(parsedDocx);
if(bw!=null)
bw.close();
}
Это работает, я получаю строку с каждым словом. Но я не хочу получать какой-либо символ, подобный значку телефона ниже :
Возможно ли игнорировать значки? Как я могу это сделать?
Ответ №1:
Это может быть шрифт wingdings или что-то в этом роде, но, похоже, вам повезло, и это символ Unicode.
String s = "u260E"; // Black telephone
s = s.replaceAll("\p{So}", " ");
Где So
обозначает другие символы. Смотрите javadocs шаблона.