我想解析java中的一些word文檔。一些值是事情,比如日期範圍,而不是顯示像開始日期了 - 結束日期我得到一些時髦的人物,像這樣如何解析java中創建的特殊字符
StartDate ΓÇô EndDate
這是詞放在一個特殊字符連字符。你可以搜索這些字符並將它們替換爲一個常規字符串 - 或者其他字符串,這樣我就可以在一個「 - 」上標記字符,那個字符是什麼 - 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");
,然後打印out projDateString,它仍然打印爲
projDatestring: 08/2010 ΓÇô Present
我如何短語質疑正確呢?我正在尋找一種方法檢測連字符是否在 – Derek 2010-10-22 19:53:09
哦,我明白你的意思。我將編輯我的帖子。 – Pops 2010-10-22 19:56:00
你得到的可能是* En Dash *或者可能是* Em Dash * – 2010-10-22 20:13:03