读取带有感叹号的字符串包括句点

Reading string with exclamation mark includes a period

我正在从 mdb 文件读取和写入*,并将感叹号加倍以在数据库字段中获得单个感叹号 (bang)。

aStringBuffer.append("'" + target.getTitle().replaceAll("!","!!") + "',");

上面的字段在 insert into ... 语句中成功使用,内容以 Sample! 开头,在 StringBuffer 中更改为 Sample!!,然后返回到 Sample! 当我在 mdb 中的 table 中查看它时。

后来,当我使用 rs = aStatement.executeQuery(...)

读取值时

然后 rs.getString(aField),我得到 [Sample.!] 而不是 [Sample!]。

请注意,结果中似乎有意外的 "dot" 或额外的 "period"。

我想知道这是一个错误还是我做错了什么。

*Windows7、使用ucanaccess版本2.0.9.4,JRE 1.8.0.

UCanAccess 2.0.9.4 版本太旧了。此错误是 fixed in version 3.0.3.1 over 3.5 years ago. Look here(或在 Maven Central 上)以获取最新版本。