我正在尝试使用Java解析一些Word文档。其中一些值是日期范围,但是它们显示为一些奇怪的字符,而不是像“开始日期 - 结束日期”这样的格式。
StartDate ΓÇô EndDate
这是Word插入特殊字符连字符的位置。你能搜索这些字符并将它们替换为常规的“-”或字符串中的其他字符吗?这样我就可以在“-”上进行标记化了。那个字符是ASCII、Unicode还是其他的什么?
编辑以添加一些代码:
String projDateString = "08/2010 ΓÇô Present"
Charset charset = Charset.forName("Cp1252");
CharsetDecoder decoder = charset.newDecoder();
ByteBuffer buf = ByteBuffer.wrap(projDateString.getBytes("Cp1252"));
CharBuffer cbuf = decoder.decode(buf);
String s = cbuf.toString();
println ("S: " + s)
println("projDatestring: " + projDateString)
输出以下内容:
S: 08/2010 ΓÇô Present
projDatestring: 08/2010 ΓÇô Present
此外,如果我使用上面相同的projDateString,执行以下操作:
projDateString.replaceAll("\u0096", "\u2013");
projDateString.replaceAll("\u0097", "\u2014");
然后打印projDateString,它仍然打印为
projDatestring: 08/2010 ΓÇô Present