Apache POI异常空格(已解决:\ u00A0不间断空格)

问题描述 投票:3回答:2

编辑:已解决的答案:是一个00a0的不间断空间,而不是c0a0的不间断空间。

使用Apache POI从docx转换为纯文本,然后将纯文本读取为Java并尝试对其进行解析后,我遇到了以下问题。

输出:

" "
first characterequals SPACE OR TAB 
false
[B@5e481248
[B@66d3c617
ARRAYTOSTRING SPACE: [32]
ARRAYTOSTRING ?????: [-62, -96]

对于代码:

System.out.println("\t\"" + line.substring(0,1) + "\"\n\tfirst characterequals SPACE OR TAB \n\t" + (line.substring(0,1).equals(" ") 
                        || line.substring(0,1).equals("\t") ));
System.out.println(line.substring(0,1).getBytes());
System.out.println(" ".getBytes());
System.out.println("ARRAYTOSTRING SPACE: " + Arrays.toString(" ".getBytes()));
System.out.println("ARRAYTOSTRING ?????: " + Arrays.toString(line.substring(0,1).getBytes()));

String.trim()不会摆脱它String.replaceAll(“ \ s”,“”)不能摆脱它

我正在尝试解析大量的材料文档,这已成为一个主要障碍。我不知道发生了什么或如何与之交互,任何人都可以对这里发生的事情有所了解吗?

java apache-poi
2个回答
2
投票

这将转换为具有十六进制代码c2 a0的字节,根据this answer,该字节是UTF-8编码的不间断空格。请注意,这实际上是not


0
投票

这对我有用:

© www.soinside.com 2019 - 2024. All rights reserved.